Ruby on rails 嵌套路由的«if语句»
我在routes.rb中嵌套了路由 在顶部菜单中,当用户位于公司控制器或嵌套控制器、员工、帐户中时,我希望显示某个链接。所以,我想要一个简单的“if语句” 我试过几种方法Ruby on rails 嵌套路由的«if语句»,ruby-on-rails,if-statement,routes,Ruby On Rails,If Statement,Routes,我在routes.rb中嵌套了路由 在顶部菜单中,当用户位于公司控制器或嵌套控制器、员工、帐户中时,我希望显示某个链接。所以,我想要一个简单的“if语句” 我试过几种方法 <%= if params[:company_id].present? %> # doesn't work in company views # certain link <% end %> <%= if current_page?(controller: 'companies') %>
<%= 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 %>
当然,两者都可以与or一起使用,但我认为这是一种更好的方法
谢谢 您可以使用控制器名称:
<% if controller_name.match(/^companies/) %>
# certain link
<% end %>
更新
或者,使用控制器路径:
<% if controller_path.match(/^companies/i) %>
# certain link
<% end %>
不。在嵌套视图中不起作用。例如:domain.com/companys/1/accounts/3@PeterTretyakov,你能用我的第二种方法检查一下吗?如果对你有效,我会删除第一个。
<% if controller_path.match(/^companies/i) %>
# certain link
<% end %>