9

-使用和以下有什么区别=

- content_for :header do
  %h1 Title

= content_for :header do
  %h1 Title

什么是正确的方法?

4

2 回答 2

20

这取决于你想做什么。

要立即渲染标题,请执行以下操作:

= content_for :header do
  %h1 Title

要存储内容并稍后使用,请执行以下操作:

- content_for :header do
  %h1 Title

并在您的视图中的某处使用它:

= content_for :header

在 Rails < 3.2 中,您需要使用= yield :header. Rails 3.2 仍然支持它,但它在辅助模块中content_for不起作用(感谢@drewish)。

于 2012-10-11T16:38:55.867 回答
0

= yield :header,虽然没有被弃用,但已经很少使用了。尽管 Rails 3.2 支持这一点,但问题出现在帮助模块中。

content_for, 另一方面确实运行良好并且是更常用的命令。

于 2015-02-11T06:30:45.747 回答