【问题标题】:HAML - understanding how to layout a pageHAML - 了解如何布局页面
【发布时间】:2012-04-20 23:50:41
【问题描述】:

我仍在学习 HAML,但有些语法我不清楚。

当我看到这样的代码时:

-content_for :primary_content do
  .content_container

content_for 块的作用和含义是什么?这是对特定布局的调用吗?还是 .content_container 是某个地方的类?

我问的原因是因为我有一些链接出现在页面上,我不确定它们为什么会出现在那里。我想知道 primary_content 是否获得了要渲染的代码块?如果是这样,我如何找到或查找此代码块?

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby haml


    【解决方案1】:

    您的 HAML 大致相当于以下 ERB:

    <%- content_for :primary_content do %>
        <div class='content_container'></div>
    <%- end %>
    

    本质上,“content_for:symbol”定义了一段命名的内容,稍后将包含在布局或其他内容中。

    .somethingHAML 的简写方式,表示“让我成为 CSS 类为 something 的 div”。

    【讨论】:

      【解决方案2】:

      首先:content_for 不是 Haml 的功能。它是 Ruby on Rails 视图中可用的助手之一。您也可以在 ERb 中使用它。

      此方法渲染给定的块但不输出它。要查看渲染结果,您必须调用= yield :key,其中:keycontent_for 使用的符号相同。要检查是否生成了内容,请使用content_for? :key

      Details

      【讨论】:

        【解决方案3】:

        您使用 content_for 将内容放在位于布局中某处的名为 primary_content 的占位符中。

        http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-content_for-3F

        【讨论】:

          猜你喜欢
          • 2012-06-23
          • 2022-01-19
          • 1970-01-01
          • 2010-11-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-30
          • 2011-05-21
          相关资源
          最近更新 更多