-1

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

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

4 回答 4

6

读起来好一点,IMO。

if params[:project].blank?
  redirect_to root_path
else
  redirect_to project_path(params[:project])
end
于 2013-02-07T01:34:00.353 回答
1

您可以使用三元运算符:

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

于 2013-02-07T01:30:47.417 回答
0
redirect_to(
  params[:project]
  .tap{|p| break p.blank? ? root_url : project_path(p)}
)
于 2013-02-07T01:49:22.283 回答
0

一个非常易读的 2 班轮 IMO。

redirect_to project_path(params[:project]) unless params[:project].blank?
redirect_to root_url if params[:project].blank?
于 2013-02-07T02:18:31.193 回答