【问题标题】:Rails Layout Rendering with controller condition带有控制器条件的 Rails 布局渲染
【发布时间】:2011-02-05 05:51:47
【问题描述】:

我不知道这样做的最佳方法是什么。

在我的 application.html.erb 上,我定义了一个标题 div。

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

如何在该标头 div 中设置条件以根据正在呈现的控制器呈现不同的内容?

【问题讨论】:

    标签: ruby-on-rails render conditional-statements


    【解决方案1】:

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

    application.html.erb

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

    然后在控制器的视图模板中的任何地方包含这样的代码:

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

    请注意,您可以根据需要定义任意数量的这些块,因此您也可以有条件侧边栏等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-07
      • 2014-11-02
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      • 2012-04-27
      • 1970-01-01
      • 2010-11-10
      相关资源
      最近更新 更多