代码之家  ›  专栏  ›  技术社区  ›  Victor Martins

带控制器条件的轨道布局渲染

  •  3
  • Victor Martins  · 技术社区  · 16 年前

    我不知道怎么做才是最好的方法。

    在application.html.erb中,我定义了一个头分区。

    我的默认控制器(根)是主页控制器。 我希望,如果我在主页的索引处,头部会呈现一些内容,但是所有其他控制器都会呈现该头部中的另一个内容。

    如何使该头DIV中的条件基于正在呈现的控制器呈现不同的内容?

    1 回复  |  直到 16 年前
        1
  •  6
  •   John Topley    16 年前

    您可以使用 content_for 帮助器,用于在从应用程序布局生成的单个视图模板中定义标记块。

    应用程序.html.erb :

    <div id="header">
      <%= yield :header %>
    </div>
    

    然后在控制器的视图模板中的任何位置包含类似的代码:

    <% content_for :header do %>
      This is a controller-specific header.
    <% end %>
    

    请注意,您可以定义任意多的这些块,这样您也可以有一个条件侧边栏等。