在Rails中将变量从视图传递到模板

时间:2014-03-06 21:06:07

标签: css ruby-on-rails

我有一个布局模板,其视图设置如下:

layout
    header
    container
        h2.page-title
        content-box
            yield
        sidebar

view
    section-title
        content

我要做的是在我的布局中渲染页面标题。我出于风格原因这样做。

我可以将视图特定标题放在视图文件中,然后使用CSS来抵消它-100px或其他东西。我可以将视图中的变量传递给布局吗?

2 个答案:

答案 0 :(得分:1)

您尝试实现的目标通常是使用content_for帮助程序完成的。见here

它实际上使用了示例中的标题,因此您只需复制粘贴。

编辑:对不起,正如您所指出的那样,我将HTML页面的标题与您想要的页面标题混合在一起,因此该示例在不更改的情况下对您不利。但是导游似乎帮助你弄清楚你需要什么。

答案 1 :(得分:0)

如果有人遇到这个问题,就像@Rails Fan所说的那样,我使用了一个content_for帮助器(虽然不是很好的链接,这就是为什么我有自己的答案)。

我的布局视图:

header
container
    <%= yield :custom_section %>
    content-box
        yield
    sidebar

我的观点:

<% if content_for :custom_section %>
  <h1>Page Title</h1>
<% end %>