Dans mon application, j'ai les classes Utilisateur, Vidéo et Vote. Les utilisateurs et les vidéos peuvent interagir de deux manières différentes: en tant que «un-à-plusieurs» ou «plusieurs-à-plusieurs». Le premier est lorsqu'un utilisateur soumet une vidéo (un utilisateur peut soumettre de nombreuses vidéos). Ce dernier est lorsqu'un utilisateur vote sur une vidéo (les utilisateurs ont de nombreuses vidéos à travers les votes, et vice versa). Voici mon code, qui ne fonctionne pas (je pense - je peux faire quelque chose de mal dans la vue). S'il vous plaît aidez-moi à comprendre la bonne façon de structurer ces associations:Comment définir les relations ActiveRecord entre deux modèles liés les uns aux autres de deux manières différentes?
class User < ActiveRecord::Base
has_many :videos, :as => :submissions
has_many :votes #have tried it without this
has_many :videos, :as => :likes, :through => :votes
end
class Vote < ActiveRecord::Base
belongs_to :video
belongs_to :user
end
class Video < ActiveRecord::Base
belongs_to :user
has_many :votes #have tried it without this . . . superfluous?
has_many :users, :as => :voters, :through => :votes
end
Pourriez-vous développer ce qui ne fonctionne pas? Y a-t-il une erreur, etc? –
quand j'essaye de faire: video.voters << utilisateur, il est dit "Undefined method 'votes" pour # –