有什么区别:
- content_for :header do
%h1 Title
和
= content_for :header do
%h1 Title
什么是正确的方法?
答案 0 :(得分:18)
这取决于你想做什么。
要立即渲染标题,请执行以下操作:
= 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)。
答案 1 :(得分:0)
= yield:标题虽然没有被弃用,但却被用尽了。虽然Rails 3.2支持这一点,但问题出现在辅助模块中。另一方面,content_for确实运行良好,是一种更常用的命令。