在HAML上下文中使用Rails`content_for` helper的正确语法是什么

时间:2012-10-11 15:32:34

标签: ruby-on-rails haml

有什么区别:

- content_for :header do
  %h1 Title

= content_for :header do
  %h1 Title

什么是正确的方法?

2 个答案:

答案 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确实运行良好,是一种更常用的命令。