4

我在 Rails 项目中工作。我创建了页眉和页脚并添加到 layouts/application.html.erb 文件中的所有页面。现在我想从某些页面中删除它。我怎样才能做到这一点?

4

4 回答 4

7

控制器支持:only和布局选项,请参阅本指南:except中的条件布局部分。

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

class SomeController < ApplicationController
  layout 'application', :except => [:some_action, :some_other_action]
  ...
于 2012-07-03T20:43:16.707 回答
4

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

于 2012-07-03T12:41:19.453 回答
1
class SomeController < ApplicationController
  def method_without_layout
    render layout: false
  end
end
于 2015-04-02T23:35:36.940 回答
1

您可以转到 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”的任何页面都没有页眉和页脚。

于 2020-12-23T01:31:35.640 回答