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.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs