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