22/09/2008, 22:34
|
| | Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 16 años, 2 meses Puntos: 0 | |
Controladores y vistas polimórficas (inquietud) El siguiente es un problema que se me está presentado en el desarrollo
de un app. Quiero comentar mi problema a ver si me podrían dar alguna
ayuda o consejo. Intentaré ser lo más claro y conciso posible.
En el app que estoy haciendo los usuarios pueden crear posts como en un
blog. Al mismo tiempo el app acentúa mucho el hecho de pertenecer a un
grupo. Entonces un post pertenece tanto a un grupo como a un usuario (Un
post tiene un campo user_id y group_id al que pertenece). Yo quiero
mostrar un index de los posts pertenecientes a un grupo. Utilizo la
acción index del posts_controller para mostrar todos los posts
pertenecientes a un grupo a través de la ruta groups/1/posts. Además de
eso muestro también otros datos como por ejemplo los posts más
recomendados del grupo y los usuarios que mas postean, todos en la misma
acción y vista index.
Entonces aquí viene el problema. También deseo mostrar el index de los
posts que haya hecho un usuario en particular (la ruta sería
users/1/posts) y a su vez mostrar otros datos más en las vistas. Pensé
en utilizar cadenas de ifs y elses en el index controller y en las
vistas como solución "fácil y sin pensarlo mucho" pero simplemente es
algo muy sucio y no mantenible. Ahora bien, también hay más problemas.
Se debe poder filtrar los posts de un grupo por categoria o tags y de la
misma forma se pueden filtrar por categoria y tags los posts de un
determinado usuario. Y he aquí donde el problema ya se empieza a
convertir en una bola de nieve. El hecho de tener que filtrar siempre
para grupos o para usuarios en particular. Eso sin contar las vistas
donde se mostrará la información dependiendo del contexto en que se esté
(y además se agregará información adicional dependiendo de dicho
contexto). Pensé también en tener varios controladores pero no me
parecio lógico pues tendría que tener muchos: un controlador post_users,
post_groups, post_user_categories, post_group_categories,
post_user_tags, post_group_tags...
En fin, estoy un poco consternado por esta situación y no se que camino
se debe tomar para plantearle una solución al problema. Agradezco alguna
ayuda, aporte o guía. Muchas gracias por tu atención,
Elías Orozco |