akyrho
September 22, 2008, 1:23pm
1
Je tente d’implémenter une gestion des favoris dans un de mes projets.
Seulement, j’ai quelques difficultés à définir mes modèles.
Pour faire simple, j’ai des soumissions et des utilisateurs. Les deux
tables (users et submissions), sont reliées par un lien 1-N (une
soumission à un propriétaire).
Maintenant, j’aimerai ajouter une liaison M-N, via une troisième table,
“favorites”, qui relie également users et submissions.
Donc, pour récupérer les favoris d’un utilisateur, je fais une inclusion
de la table “favorites” dans une de mes requetes, ce qui me retourne
l’erreur suivante : ActiveRecord::ConfigurationError (Association named
‘favorites’ was not found; perhaps you misspelled it?)
Mes modèles :
(user.rb)
has_many :submissions
has_and_belongs_to_many :submissions, :join_table => “favorites”,
:class_name => “favorites”
(submission.rb)
belongs_to :user
has_and_belongs_to_many :users, :join_table => “favorites”, :class_name
=> “favorites”
Quelqu’un aurait-il une idée?
akyrho
September 22, 2008, 2:27pm
2
Le 22 septembre 2008 13:23, Céd B. a écrit :
Donc, pour récupérer les favoris d’un utilisateur, je fais une inclusion
de la table “favorites” dans une de mes requetes, ce qui me retourne
l’erreur suivante : ActiveRecord::ConfigurationError (Association named
‘favorites’ was not found; perhaps you misspelled it?)
Il n’y aucune association nommée ‘favorites’ dans le code qui suit,
donc Rails ne peut que se plaindre.
Mes modèles :
(user.rb)
has_many :submissions
has_and_belongs_to_many :submissions, :join_table => “favorites”,
:class_name => “favorites”
Ces deux associations ont le même nom ‘submissions’, sans
regarder plus loin, ça ne risque pas de marcher.
(c’est aussi une question de bon sens, si tu as user une instance de
User, user.submissions est censé retourner quoi ? )
(submission.rb)
belongs_to :user
has_and_belongs_to_many :users, :join_table => “favorites”, :class_name
=> “favorites”
– Jean-François.
–
ça dépend
http://twitter.com/underflow_