ruby on rails更好的语法

时间:2013-02-07 01:29:48

标签: ruby-on-rails ruby

有没有更好的方法来编写这段代码。我认为这看起来很糟糕。

if !params[:project].blank?
  redirect_to project_path(params[:project])
else
  redirect_to root_url
end

4 个答案:

答案 0 :(得分:6)

读得好一点,IMO。

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

答案 1 :(得分:1)

您可以使用三元运算符:

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

一个非常易读的2号线IMO。

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