[Ror-es] Como implementar un sistema de votacion multi-modelo?
Raul Murciano
raul at murciano.net
Wed Dec 12 09:27:49 GMT 2007
Jaime Iniesta escribió:
> Estoy dándole vueltas a cómo hacer un sistema de votación (estilo digg
> o meneame), para una comunidad de usuarios, donde los usuarios
> escriben su blog y suben sus fotos, y todo es votable.
>
> O sea, a diferencia de meneame/digg donde solo votas un tipo de
> modelo, los enlaces a noticias, aquí se tiene que poder votar por
> separado los posts de los blog y las fotos de los usuarios, y así
> poder ver las fotos más votadas, los posts más votados, etc. Y también
> otros modelos asociados a los usuarios. Quizá incluso se pueda votar
> directamente a los usuarios.
>
> ¿Cuál creéis que sería la mejor manera de plantear esto? Estaba
> pensando en usar herencia, en plan tener una clase "Votable" con toda
> la funcionalidad necesaria (anotar karma, asociar votos, etc.), y de
> ahí descienden Usuarios, Fotos y Posts... pero usando single table
> inheritance sería un tanto guarro, por la necesidad de meterlo todo en
> una sola tabla.
>
> ¿Se os ocurre una solución mejor? ¿O paso de herencia y lo implemento
> por separado para cada modelo?
De primeras se me ocurre agrupar esas funcionalidades en un módulo
'Votable' y, en los modelos necesarios, incluir ese módulo y crearles el
campo 'votes' en cada tabla.
--
Raul Murciano - Freelance Web Developer
http://raul.murciano.net
More information about the Ror-es
mailing list