如何实现erb布局?

时间:2011-05-19 15:16:24

标签: ruby-on-rails ruby templates

如何实施Rails ERB的布局?我试着查看源代码,但我无法确定它们在哪里/如何工作。

我特别感兴趣的是 yield 部分如何工作,erb如何在​​模板中包含渲染视图。

我需要它的原因是,我可以将它用于代码生成,非Rails,非HTML相关(因为知道它们如何工作会很有趣)

1 个答案:

答案 0 :(得分:3)

Rails向内渲染,因此它将首先呈现show.html.erb并将其存储在变量中。然后它将呈现布局

在你看到的布局中

<%= yield %>

将替换为shot.html.erb文本

这也是以下工作方式。在您的页面中,您可能会说:

<% content_for(:footer) do %>
  ...
<% end %>

然后在您的布局中进行分层:

<%= yield(:footer) %>

我喜欢将其视为变量的由内而外的设置。