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 文件等中。