如何叠加Rails布局

时间:2014-01-07 11:28:16

标签: ruby-on-rails layout

我想做什么:

一个布局application.html.haml,我在其中为所有页面定义公共元素,如下面的

%html
  %head
    %title
      = @title
    = stylesheet_link_tag    "application", :media => "all"
    = javascript_include_tag "application"
    = csrf_meta_tags

  %body
    %header
      .navbar.navbar-fixed-top
        .navbar-inner
          .container
            .pull-left
              .brand
                = @title
            = render "menu/menu"

    .container.centered
      - if flash[:notice]
        .alert.alert-success
          = raw flash[:notice]
      - if flash[:error]
        .alert.alert-error
          = raw flash[:error]
    = yield

然后,我想为控制器中指定的每个“模块”设置不同的布局:

class UsersController < ApplicationController
  before_filter :authenticate_user!, :authorize
  load_and_authorize_resource
  layout 'user'

所以我想拥有以下工作流程:

页面模板(例如:/ users / all) - &gt;模块布局(所有/用户/页面的共同元素) - &gt;应用布局(整个应用的常见元素)

第一部分(页面模板 - &gt;模块布局)非常简单,目前正在实施。我只需要在控制器中指定layout 'user'

我的问题是:如何判断“不要仅渲染 user布局,还要渲染application布局”?我想要一个布局布局。

我希望我足够清楚。感谢。

0 个答案:

没有答案