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