Estoy tratando de mostrar el resultado de un bloque content_for a través de un helper.Renderizar un bloque content_for en un helper
que tienen una plantilla (HAML) y una disposición de la siguiente manera:
# app/views/books/show.html.haml
-content_for(:page_header) do
%h1= @book.title
# app/views/application.html.haml
...
=yield(:page_header)
...
que funciona absolutamente bien.
Lo que quiero hacer es hacer esa llamada en una ayuda en su lugar. Así que estoy apuntando para lo siguiente:
# app/views/books/show.html.haml
-content_for(:page_header) do
%h1= @book.title
# app/views/application.html.haml
....
=page_header(block)
....
# app/helpers/application.rb
....
def page_header(&block)
# Some view logic
# ...
=yield(:page_header)
end
....
puedo lograr un resultado parcial llamando al ayudante con:
# app/views/application.html.haml
=page_header { yield(:page_header) }
# app/helpers/application.rb
def page_header(&block)
yield
end
pero que se siente feo para mí.
¿Alguna idea? Gracias por adelantado.
RESPUESTA: Usa content_for (: page_header) nuevamente para renderizarlo.
Gracias por su respuesta. Eso me ha llevado a la solución correcta, que es usar content_for nuevamente para representar el contenido. – iHiD