Ruby Rails:“不在所有这些页面上显示”条件
Ruby on Rails: 'don't show on all these pages' condition
我是 Rails 上 Ruby 的新手,我很难弄清楚如何不在多个页面上显示 div。目前,我只能为单个页面完成以下工作:
<% if signed_in? %>
<% unless current_page?(account_setup_path) %>
<!--job seeker options-->
<% if current_user.job_seeker? %>
test
<% end %>
<!--end job seeker options-->
<!--employer options-->
<% if current_user.employer? %>
<% end %>
<!--end employer options-->
<% end %>
<% end %>
任何帮助将不胜感激!提前致谢!
由于您希望 div 不显示在多个页面上,因此您有多种选择。首先,如果 div 仅打算显示在具有特定控制器的页面上,您需要将 div 移动到局部视图中并从所有关联的视图中引用它。如果你想只显示在一页上,你应该直接把它放在视图中。如果您需要它显示在您应用的多个不同页面上。您可以简单地检查参数哈希中的控制器是否匹配。例如:
#I want this div shown on any pages handled by my `Admins` and `Users` controllers.
<% if params[:controller] == 'admins' || params[:controller] == 'users' %>
div here
<% end %>
这将增加维护开销,因此您应该仔细考虑这个 div 应该在部分、特定视图还是在 layout/application 文件等中。
我是 Rails 上 Ruby 的新手,我很难弄清楚如何不在多个页面上显示 div。目前,我只能为单个页面完成以下工作:
<% if signed_in? %>
<% unless current_page?(account_setup_path) %>
<!--job seeker options-->
<% if current_user.job_seeker? %>
test
<% end %>
<!--end job seeker options-->
<!--employer options-->
<% if current_user.employer? %>
<% end %>
<!--end employer options-->
<% end %>
<% end %>
任何帮助将不胜感激!提前致谢!
由于您希望 div 不显示在多个页面上,因此您有多种选择。首先,如果 div 仅打算显示在具有特定控制器的页面上,您需要将 div 移动到局部视图中并从所有关联的视图中引用它。如果你想只显示在一页上,你应该直接把它放在视图中。如果您需要它显示在您应用的多个不同页面上。您可以简单地检查参数哈希中的控制器是否匹配。例如:
#I want this div shown on any pages handled by my `Admins` and `Users` controllers.
<% if params[:controller] == 'admins' || params[:controller] == 'users' %>
div here
<% end %>
这将增加维护开销,因此您应该仔细考虑这个 div 应该在部分、特定视图还是在 layout/application 文件等中。