2013-02-07 53 views

回答

1

您可以使用三元運算:

redirect_to params[:project].blank? ? root_url : project_path(params[:project])

+2

如果你想工作安全,不喜歡可讀性,這是要走的路。 – tadman

+0

我不討厭這個。它是乾燥的,因爲你不重複重定向的東西。確切地說,是 –

6

讀好一點,海事組織。

if params[:project].blank? 
    redirect_to root_path 
else 
    redirect_to project_path(params[:project]) 
end 
+0

。永遠不要像'else'那樣有雙重否定的情況:「如果項目參數*不是*空白的?」在這個版本中,它是「如果項目參數*是空白的?」 – tadman

0
redirect_to(
    params[:project] 
    .tap{|p| break p.blank? ? root_url : project_path(p)} 
) 
0

一個非常可讀2襯墊IMO。

redirect_to project_path(params[:project]) unless params[:project].blank? 
redirect_to root_url if params[:project].blank?