两个模型之间的多个关联 - Rails 3

时间:2011-07-02 12:48:58

标签: ruby-on-rails associations

我试图在CMS应用程序中的两个模型之间建立一对多和多对多的关系。 情况如下。

  1. 所有者(用户)拥有许多内容,内容拥有所有者
  2. 用户有很多内容,内容有很多用户
  3. 我的模型如下:

    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
    

    由于某种原因,这对我来说不正常。 请帮忙。 谢谢。

1 个答案:

答案 0 :(得分:1)

如果你解释了你的问题会很有帮助,但是现在我想,它是:as => "owner" part. As stated in [this][1] guide:as`用于多态关联(具有多态关联,一个模型可以属于多个其他模型,单一关联 - 评论模型可以与新闻和文章相关联。)

因此,您应使用:as

而不是:foreign_key => 'owner_id'