我还在学习HAML,我有一些我不清楚的语法。
当我看到这样的代码时:
-content_for :primary_content do
.content_container
content_for块的功能和含义是什么?这是对特定布局的调用吗?或者.content_container是某个类吗?
我问的原因是因为我在页面上显示了一些链接,我不确定它们出现在那里的原因。我想知道primary_content是否会获得一个代码块来呈现?如果是这样,我如何找到或查找这段代码?
谢谢!
答案 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
,其中:key
与content_for
使用的符号相同。要检查是否已生成内容,请使用content_for? :key
。
答案 2 :(得分:1)
您可以使用content_for将内容放在名为primary_content的占位符中,该占位符位于布局中的某个位置。
http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-content_for-3F