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énotros 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?