HAML - 了解如何布局页面

时间:2012-04-20 14:49:02

标签: ruby-on-rails ruby haml

我还在学习HAML,我有一些我不清楚的语法。

当我看到这样的代码时:

-content_for :primary_content do
  .content_container

content_for块的功能和含义是什么?这是对特定布局的调用吗?或者.content_container是某个类吗?

我问的原因是因为我在页面上显示了一些链接,我不确定它们出现在那里的原因。我想知道primary_content是否会获得一个代码块来呈现?如果是这样,我如何找到或查找这段代码?

谢谢!

3 个答案:

答案 0 :(得分:5)

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

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

基本上,“content_for:符号”定义了一段以后将包含在布局中的命名内容。

.something是一种HAML简短的说法,“让我成为CSS类something的div。”

答案 1 :(得分:3)

首先关闭:content_for不是Haml的功能。它是Ruby on Rails视图中可用的帮助程序之一。你也可以在ERb中使用它。

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

Details

答案 2 :(得分:1)

您可以使用content_for将内容放在名为primary_content的占位符中,该占位符位于布局中的某个位置。

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