【发布时间】:2012-07-03 12:38:10
【问题描述】:
我正在从事 Rails 项目。我创建了页眉和页脚并添加到 layouts/application.html.erb 文件中的所有页面。现在我想从某些页面中删除它。我该怎么做?
【问题讨论】:
标签: ruby-on-rails ruby
我正在从事 Rails 项目。我创建了页眉和页脚并添加到 layouts/application.html.erb 文件中的所有页面。现在我想从某些页面中删除它。我该怎么做?
【问题讨论】:
标签: ruby-on-rails ruby
控制器支持布局的:only 和:except 选项,请参阅this guide 中的条件布局部分。
因此您可以在控制器中执行以下操作:
class SomeController < ApplicationController
layout 'application', :except => [:some_action, :some_other_action]
...
【讨论】:
创建不同的布局,并将其应用于您不想呈现页眉和页脚的页面。
【讨论】:
class SomeController < ApplicationController
def method_without_layout
render layout: false
end
end
【讨论】:
您可以转到 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”的任何页面都没有页眉和页脚。
【讨论】: