2011-03-03 3 views
0

J'ai actuellement des associations comme ceci:Structure Association

Catégorie belongs_to utilisateur utilisateur has_many Catégories

Un utilisateur peut créer une catégorie

Cependant, le problème que j'ai comment dois-je associer des utilisateurs à leurs catégories liked. Un utilisateur peut like une catégorie même si elle est créée par un autre utilisateur.

Je cherche en créer un autre modèle avec

user_id et category_id

Comment puis-je aller sur la création du modèle et comment la relation serait? Une catégorie doit toujours belongs_to à User mais un utilisateur peut like un Category.

+0

Il est plus ou moins le même problème que les utilisateurs/amis dans un réseau social, un coup d'oeil ici: http://railscasts.com/episodes/163-self-referential-association – apneadiving

+0

Mais les catégories ou les utilisateurs n'ont pas besoin d'être associés à eux-mêmes. Ou est-ce que je manque quelque chose? –

Répondre

0

En fonction de vos besoins, il devrait y avoir deux relations.

 
1. User has_many :categories and 
    Category belongs_to :user 
2. User habtm :favorite_cats, :class_name => 'Category' and 
    Category habtm :liked_by_users, :class_name => 'User'