Essayer de mettre en œuvre un système de notation des utilisateurs et des messages.gérer plusieurs réputation dans la base de données et le code
Quel est le meilleur schéma pour gérer les réputations multiples.
Un utilisateur a une réputation dérivée d'écritures et de commentaires (similaire à SO).
Les publications ont également une réputation (similaire à SO).
Mon idée initiale d'avoir une table de réputation. Les lignes correspondraient à l'identifiant de l'utilisateur/affichage et à la valeur du vote.
Deux questions:
Est-ce la meilleure façon de gérer cela?
Les ID uniques de l'utilisateur et les enregistrements d'enregistrement sont incrémentés automatiquement, la valeur par défaut que rake créerait. On dirait qu'il y a une possibilité que les uniques_ids puissent entrer en collision. Est-ce une préoccupation valable? Comment pourrais-je atténuer cela?
Merci
semble qu'il y ait beaucoup de code dupliqué. Suggestions à ce sujet? – cbrulak
si les deux tables ont la même 'forme' votre code de traitement de réputation ne s'en souciera-t-il pas? Dans .Net, vous devrez écrire certaines interfaces, mais cela fonctionnerait toujours. Je ne sais pas comment faire cela dans ruby mais je pense que c'est possible – Joshua
Peut-être que l'héritage est l'endroit où vous devriez regarder. Voir http://api.rubyonrails.org/classes/ActiveRecord/Base.html et la section sur 'Single Table Inheritance' Vous pouvez avoir un peu de code supplémentaire, mais vous ne devriez pas avoir à dupliquer le code, et à partir d'une base de données point de vue, il sera plus normalisé. –