Herencia en Layouts

Hola,

En mi aplicación utilizo un layout global
/views/layouts/application.html.erb. Ahora bien, necesito un layout para
un
controller, por ejemplo /layouts/products.html.erb, pero que herede el
layout application, para eso de hacerlo más DRY. Estoy pensando en
utilizar
el plugin [1] Nested Layouts, pero no sé si estoy por el camino
correcto.
Les agradecería me iluminarán.

[1] http://agilewebdevelopment.com/plugins/nested_layouts

Un saludo

Hola,

En mi aplicación utilizo un layout global
/views/layouts/application.html.erb. Ahora bien, necesito un layout para
un
controller, por ejemplo /layouts/products.html.erb, pero que herede el
layout application, para eso de hacerlo más DRY. Estoy pensando en
utilizar
el plugin [1] Nested Layouts, pero no sé si estoy por el camino
correcto.
Les agradecería me iluminarán.

[1] http://agilewebdevelopment.com/plugins/nested_layouts

Un saludo

Hola aprendiz, algo me dice que necesitas varias secciones dinamicas
dentro
de tu layout principal, si ese es el caso, yo lo resuelvo de la
siguiente
manera:

#En el layout principal:

...
<%= yield :sidebar %>
<%= yield %>

#En cualquier vista de tu controlador
<% content_for :sidebar do %>
Aqui el contenido para sidebar
<% end %>
Aqui el contenido principal

Saludos.

2008/7/7 aprendiz basico [email protected]:

El día 8 de julio de 2008 16:45, Ruben. D. [email protected]
escribió:

Hola aprendiz, algo me dice que necesitas varias secciones dinamicas dentro
de tu layout principal, si ese es el caso, yo lo resuelvo de la siguiente
manera:

Hola Ruben,

Basicamente necesito evitar repetir el bloque content_for para las
plantillas (new, edit, etc.) del controlador Products, en este
caso. Gracias.

Un saludo

2008/7/8 Jaime Mora R. [email protected]:

<% content_for(:sidebar) do %>
<%= busqueda %>
<% end %>
<%= render :file => “layouts/application” %>

Hola Jaime,

Muchas gracias, es justamente lo que necesito.

Un saludo.

2008/7/8 aprendiz basico [email protected]:

Basicamente necesito evitar repetir el bloque content_for para las
plantillas (new, edit, etc.) del controlador Products, en este
caso. Gracias.

Hola aprendiz basico,

Para un típico manejo de un sidebar:

#views/layouts/application.html.erb

<%= yield :sidebar %>

#views/layouts/products.html.erb

<% content_for(:sidebar) do %>
<%= busqueda %>
<% end %>
<%= render :file => “layouts/application” %>
Por convención Rails utilizará el layout products, pero mediante render
:file, renderiza nuestro layout global. Para layouts más anidados quizá
te
valga utilizar el plugin que mencionaste, aunque en lo personal no lo he
utilizado. Además puedes lo anterior llevarlo a un helper para que sea
una
solución más DRY, para los diferentes layouts de tu aplicación.

Un saludo.