铁轨条件一条线

时间:2012-09-15 11:05:56

标签: ruby-on-rails ruby-on-rails-3 if-statement

我想将其他if语句组合成1行 我的下面的代码显示部分但仅当前URL不是elsif语句中列出的3之一

<% if request.path == landing_path then %>
<% elsif request.path == new_company_path then %>
<% elsif request.path == edit_user_path(current_user.id) then %>
<% else %>
<%= render 'dashboard/user_controls'%>
<% end %>

我正在尝试

<% if request.path != (landing_path || new_company_path || edit_user_path(current_user.id)   ) then %>
  <%= render 'dashboard/user_controls'%>
<% end %>

我做错了什么?

由于

1 个答案:

答案 0 :(得分:2)

这将有效:

<%= render 'dashboard/user_controls' if [landing_path, new_company_path, edit_user_path(current_user)].all? {|path| request.path != path }   )%>

但你宁愿在帮手中抽象出来。