Sto scrivendo un metodo di supporto Rails che aggiungerà wrapper HTML ai blocchi contenuti acquisiti e sostituire il metodo content_for, come ad esempioCome scrivere un helper in Ruby on Rails per catturare blocchi Haml?
- content_for :header do
//haml code
..would diventano
- content :header do
//haml code
Per fare questo sono usando blocchi Haml e Ruby. Questo è quello che sembra
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
Ma non riesco a farlo funzionare. Non c'è nessun messaggio di errore. Semplicemente non mostra affatto il blocco! Non sono sicuro di cosa sto sbagliando. Gradirei una seconda opinione.
Questi due sono in realtà esattamente equivalenti nel comportamento. (La versione di '& block' potrebbe essere leggermente più performante, ma di questi tempi sono circa la stessa cosa.) Come @ nex3 sottolinea, però, l'OP non stava chiamando' yield', ma stava semplicemente restituendo il 'block' senza chiamandolo – Peeja