【问题标题】:What's the right syntax to use Rails `content_for` helper in a HAML context在 HAML 上下文中使用 Rails `content_for` 助手的正确语法是什么
【发布时间】:2012-10-11 15:32:34
【问题描述】:

-=在以下使用上有什么区别:

- content_for :header do
  %h1 Title

= content_for :header do
  %h1 Title

什么是正确的方法?

【问题讨论】:

  • 对于那些想知道的人来说,-= 之间的区别。

标签: ruby-on-rails haml


【解决方案1】:

这取决于你想做什么。

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

= content_for :header do
  %h1 Title

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

- content_for :header do
  %h1 Title

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

= content_for :header

在 Rails = yield :header。这在 Rails 3.2 中仍然受支持,但它在帮助模块中不起作用,而 content_for 可以(感谢 @drewish)。

【讨论】:

  • 这在 rails 3.2 中改变了对吧?现在您想使用= content_for :header 而不是= yield :header
  • 看起来您仍然可以同时使用这两种方法,但 yield 在帮助模块 (source) 中不起作用。
  • 啊,我错过了 haml for content_for 中的“do”。谢谢!
【解决方案2】:

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

content_for,另一方面,它工作得很好,是一个更常用的命令。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多