【问题标题】:how to remove header and footer from some of the pages in ruby on rails如何从 ruby​​ on rails 中的某些页面中删除页眉和页脚
【发布时间】:2012-07-03 12:38:10
【问题描述】:

我正在从事 Rails 项目。我创建了页眉和页脚并添加到 layouts/application.html.erb 文件中的所有页面。现在我想从某些页面中删除它。我该怎么做?

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    控制器支持布局的:only:except 选项,请参阅this guide 中的条件布局部分。

    因此您可以在控制器中执行以下操作:

    class SomeController < ApplicationController
      layout 'application', :except => [:some_action, :some_other_action]
      ...
    

    【讨论】:

      【解决方案2】:

      创建不同的布局,并将其应用于您不想呈现页眉和页脚的页面。

      【讨论】:

        【解决方案3】:
        class SomeController < ApplicationController
          def method_without_layout
            render layout: false
          end
        end
        

        【讨论】:

          【解决方案4】:

          您可以转到 application.html.erb,然后执行以下操作:

          <% unless action_name == "show" %>
             <%= render 'shared/header' %>
          <% end %>
          
          <%= yield %>
          
          <% unless action_name == "show" %>
             <%= render 'shared/footer' %>
          <% end %>
          

          'show.html.erb' 将是没有页眉和页脚的页面。实施此解决方案时要小心,因为您命名为“show.html.erb”的任何页面都没有页眉和页脚。

          【讨论】:

          • 这个很简单有效
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-03
          • 2015-10-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多