嵌套路由的“if语句”

时间:2015-04-23 21:54:15

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

我在PS1="${PS1//\\/\\\\}" # replaces \ with \\ PS1="${PS1//\`/\\\`}" # replaces ` with \` PS1="${PS1// # replaces newlines with \n /\\n}"

中嵌套了路线
routes.rb

在顶部菜单中,我想在用户位于公司控制器或嵌套控制器(员工,帐户)时显示某个链接。所以,我想要一个简单的“if语句”。

我尝试了几种方法。

resources :companies do
  resources :employees
  resources :accounts
end

当然,可以将它们与<%= if params[:company_id].present? %> # doesn't work in company views # certain link <% end %> <%= if current_page?(controller: 'companies') %> # doesn't work in nested controllers' views # certain link <% end %> 一起使用,但我认为这可能是更好的方法。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用controller_name:

<% if controller_name.match(/^companies/) %>
    # certain link
<% end %>

<强>更新
或者,使用controller_path:

<% if controller_path.match(/^companies/i) %> 
    # certain link
<% end %>