Sobre layouts y partials

Hola, saludos a todos

Tengo una duda sobre layouts y partials, el escenario es el siguiente:

  • Tengo el tipico panel de administracion con el tipico menu
    superior para escoger la accion a realizar(productos, clientes…).

  • La estructura es la siguiente:

Cada opcion del menu es un controller y todos los controllers heredan
de un AdminController.Este AdminController tiene un layout, que
basicamente es un <%=render “menu” %> y un <%= yield %>, lo tipico ,
vamos.

  • Ahora me encuentro con la siguiente necesidad:
    Hay una opcion del menu (herramientas), que me gustaria que al acceder
    a ella aparte de conservar el menu del panel de administracion, tuviera
    otro submenu que se conservara siempre que estemos dentro de esta
    opcion.

Se me ocurren al menos dos maneras de hacerlo:

A) Hacer que el controller de herramientas use otro layout y hacer un
<%=render “menu”%> y un <%=yield %>.
Lo que no me gusta de esta opcion es que el layout del panel de
administracion aparte de tener el menu, tiene los includes de los
javascript, los css, el title etc… , aparte de nuevas funciones que
pudieran aparecer en un futuro, y me obligaria a mantener sincronizados
estos layouts e iria un poco en contra del DRY.

B) Meter un if en el layout admin que comprobara si el controller actual
es herramientas y si es asi renderizara ese submenu.
Esta opcion me gusta mas.Me parece mas centralizada y no me obliga a
estar pendiente de los cambios en el layout principal.

¿Que os parece, alguna sugerencia?
Gracias, Alfredo.

Estoy empezando. y te pido por favor que no tomes en cuenta mi opinión,
pero
claramente me decanto por la opción B (DRY) :slight_smile:

El día 19/11/07, Alfredo Garcia lopez
[email protected]
escribió:

Yo en el layout principal evito tener lógica, por lo que utilizo
helpers. No se, yo lo encuentro más lógico.

En la vista …

<%= sidebar %>

En el helper

def sidebar

end

Saludos,

Francesc

On Nov 19, 2007, at 6:50 PM, Alfredo Garcia lopez wrote:

de un AdminController.Este AdminController tiene un layout, que
Se me ocurren al menos dos maneras de hacerlo:
B) Meter un if en el layout admin que comprobara si el controller
Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es


name. Francesc E. i Martí
voice. +34 678.681.603

El embedded_actions de Sebastian es efectivamente una solución para tu
caso.

Ahh, por cierto Sebas estamos pendientes con la ayuda de la
documentación :slight_smile:

On Nov 20, 2007 11:55 AM, [email protected] wrote:

To:[email protected]

On Nov 19, 2007, at 6:50 PM, Alfredo Garcia lopez wrote:

Cada opcion del menu es un controller y todos los controllers heredan


http://lists.simplelogica.net/mailman/listinfo/ror-es


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es


Edgar González González
E-mail: [email protected]
http://edgar.gonzalez.net.ve
http://www.hasmanydevelopers.com
http://www.rubycorner.com
http://www.to2blogs.com
http://www.lacaraoscura.com

Ese es uno de los tipicos casos para los cuales escribi mi plugin
“embedded_actions”

En este momento estoy en la calle y no puedo escribir mucho, pero revisa
http://www.notsostupid.com/ (en ingles) o escribeme si quieres mas
informacion

Sent via BlackBerry from T-Mobile