如何在Rails 3中配置嵌套布局?

时间:2014-06-01 21:31:06

标签: ruby-on-rails-3 layout

我在/views/layouts/application.html.haml

中有一个基本布局
%html
  %head
    = stylesheet_link_tag    "application", :media => "all"
    = javascript_include_tag "application"
    = csrf_meta_tags
  %body
    = render 'layouts/header'
    = yield
    = render 'layouts/footer'

在我渲染的所有视图中,它继承了上面的页眉和页脚。

如何呈现不从/ views / layouts / application继承的页面?或者只是通过省略页眉和页脚来部分渲染,但仍然包括样式表和javascript?

1 个答案:

答案 0 :(得分:1)

通过选中controller_nameaction_name,您可以为特定视图以外的所有视图呈现页眉和页脚。 e.g

%html
  %head
    = stylesheet_link_tag    "application", :media => "all"
    = javascript_include_tag "application"
    = csrf_meta_tags
  %body
    = render 'layouts/header' unless controller_name == 'CONTROLLER' && action_name == 'ACTION'
    = yield
    = render 'layouts/footer' unless controller_name == 'CONTROLLER' && action_name == 'ACTION'

因此,如果您使用users而不是CONTROLLER而不是show而不是ACTION,那么页眉和页脚就不会显示用户的show动作。