为页眉编写辅助方法

时间:2012-01-02 22:32:35

标签: ruby-on-rails ruby-on-rails-3

我目前正在集成twitter bootstrap。

我的应用程序布局目前包含我在收益率正上方的flash消息:

    <div class="container">

            <%= render 'layouts/header' %>

            <div class="content" role="main">
                <%= render :partial => 'shared/flash', :object => flash %>
                <%= yield %>
            </div>

            <%= render 'layouts/footer' %>


    </div> <!--! end of #container -->

但是,我也在个人视图中使用引导页面标题

    <div class="page-header">
        <h1>Sign In <small>through one of these services:</small></h1>
    </div>

我希望在设置页眉时,我的Flash消息会低于这些页眉。所以我认为最好的方法是创建一个帮助方法并编辑我的应用程序布局,如下所示:

        <%= render 'layouts/header' %>

        <div class="content" role="main">
            <%= pageHeader %>
            <%= render :partial => 'shared/flash', :object => flash %>
            <%= yield %>
        </div>

我将如何为此编写帮助程序。在我的控制器中只有@page_header和@page_header_small的实例变量的最佳方法吗?还是有更好的轨道方式来处理这种情况?

1 个答案:

答案 0 :(得分:3)

您可以将content_for与yield结合使用。

在您的布局中,您可以将此块标题设置为闪烁消息

<%= yield :page_header %>
<%= render :partial => 'shared/flash', :object => flash %>
<%= yield %>

并在您的行动模板中

<% content_for :page_header do %>
  <div class="page-header">
    <h1>Sign In <small>through one of these services:</small></h1>
  </div>
<% end %>

Ruby Guides

上查看