2011-07-02 3 views
0

J'essaie d'avoir une à plusieurs et plusieurs à plusieurs relation entre 2 modèles dans une application CMS. Situation étant la suivante.plusieurs associations entre 2 modèles - Rails 3

  1. propriétaire (utilisateur) a beaucoup de contenu, le contenu a un propriétaire
  2. utilisateur a beaucoup de contenu, le contenu a de nombreux utilisateurs

mes modèles sont les suivants:

class User < ActiveRecord::Base 
    has_many :mycontent, :class_name => "Content", :as => "owner" 
    has_many :content_users 
    has_many :contents, :through => :content_users 
end 

class Content < ActiveRecord::Base 
    has_attached_file :attachment 
    belongs_to :owner, :class_name => "User" 
    has_many :content_users 
    has_many :users, :through => :content_users 
end 

pour une raison pour laquelle cela ne fonctionne pas correctement pour moi. aidez s'il vous plaît. merci.

+0

Pourriez-vous préciser « ne fonctionne pas correctement » un peu? – bassneck

Répondre

1

Il serait vraiment utile si vous avez expliqué votre problème, mais pour l'instant je pense, c'est le :as => "owner" part. As stated in [this][1] guide: as` est utilisé pour les associations polymorphes (Avec des associations polymorphes, un modèle peut appartenir à plus d'un autre modèle, sur un association unique - comme modèle de commentaires peuvent être associés à des nouvelles et des articles).

Ainsi, au lieu de :as vous devez utiliser :foreign_key => 'owner_id'

+0

Merci beaucoup –

Questions connexes