Tengo una página de detalles en la aplicación Rails 3 que tiene varias variables de instancia. Por ejemplo, mi punto de vista tiene las siguientes instancias:¿Cuáles son las mejores formas de consolidar variables de instancia (para pasar datos del controlador a la vista) en Rails?
@product
@program
@action
...etc...
Algunos de ellos son cadenas individuales, algunos son matrices (resultado de las peticiones de API externas). En general, los datos provienen de al menos 3 modelos.
Mi pregunta es: ¿Cuál es la mejor manera de consolidar las variables de instancia para que mi vista y mi controlador se vean más limpios (sin sacrificar la legibilidad)? Entiendo que la pregunta es abierta y todos tienen sus propias preferencias, pero ¿cuáles son algunas de las opciones? Me refiero a lo largo de las líneas de la combinación de las variables de instancia en un objeto por lo que el código anterior se convierte en algo parecido a esto:
Details.product
Details.program
Details.action
Muchas gracias!
ACTUALIZACIÓN: Al seguir la ruta del objeto, ¿hay algún buen ejemplo (github, publicaciones en el blog) de implementarlo realmente?
Use un hash o un objeto o no se molestan. Tendrás que tener tantos getters de objetos o búsquedas de claves hash como lo harías con variables de instancia. –
Tienes toda la razón, habrá tantos captadores de objetos como yo lo haga. Lo estoy mirando desde el punto de vista de usabilidad/organización. No soy partidario de ir a la ruta hash, ¿hay algún buen ejemplo de ir a la ruta del objeto, entonces? (Actualizaré las preguntas) – user527662
Patrón de presentador podría ser lo que está buscando: http://blog.jayfields.com/2007/03/rails-presenter-pattern.html –