Я пишу вспомогательный метод Rails, который добавит обертку 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