2009-01-16 5 views

Répondre

3

Vous devriez probablement utiliser une association has_many: through, qui a été introduite juste pour cette raison. Au lieu de simplement une table movies_people, vous auriez un modèle supplémentaire, appelé quelque chose comme Favorite ou Viewing (en fonction de ce que vous essayez d'accomplir avec l'association), qui appartient à la fois: films et: people, et dans votre modèle Movie , vous feriez

has_many :favorites 
has_many :people, :through => :favorites 

cela vous donne accès à movie.people pour toutes les personnes qui ont favorisé ce film et movie.favorites pour accéder à tout ce qui serait dans votre table favoris (comme persontype_id)

L'article de Josh Susser, Many-to-Many Dance Off fait un bien meilleur travail d'expliquer cela que je pourrais jamais espérer, donc pour l'aide additionnelle, je l'examinerais. http://blog.hasmanythrough.com/2006/4/20/many-to-many-dance-off

Questions connexes