我写一个Rails的helper方法,将包装HTML代码添加到拍摄的内容块,更换content_for方法,如如何在Ruby on Rails中编写帮助程序来捕获Haml块?
- content_for :header do
//haml code
..would成为
- content :header do
//haml code
为了做到这一点,我使用Haml和Ruby块。这是它看起来像
def content(name,&block)
content_for name do
capture_haml do
haml_tag "div",{:id=>name.to_s} do
haml_tag "div",{:id=>"#{name.to_s}_group"} do
block
end
end
end
end
end
但我不能得到这个工作。没有错误消息。它根本不显示块!我不知道我做错了什么。我希望得到第二个意见。
这两个实际上是行为完全等同。 ('&block'版本可能稍微有点高性能,但是现在它们大致相同。)然而,@ nex3指出,OP并没有调用yield,而只是简单地返回'block'称它。 – Peeja 2014-03-19 15:13:16