Я пишу вспомогательный метод направляющих, который добавит HTML обертки к полученным блокам содержания и заменит content_for метод, такой как
- content_for :header do
//haml code
.. стал бы
- content :header do
//haml code
Чтобы сделать это, я использую блоки Ruby и Haml. Это - то, на что это похоже
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
Но я не могу заставить это работать. Нет никакого сообщения об ошибке. Это просто не показывает блок вообще! Я не уверен, что я делаю неправильно. Я ценил бы второе мнение.
Вы поступаете примерно правильно, но на самом деле вы не вызываете переданный блок #content
. Для этого используйте либо block.call
, либо встроенный в Ruby оператор yield
.