'user
有很多posts
而product
有很多posts
,任何给定的post
都可以属于user
或一个product
但不是两个。
我认为has_many :through
关系存储在posts_relationships
表中,并且写成:
Class User < ActiveRecord::Base
has_many :posts, :through => posts_relationships
和
Class Product < ActiveRecord::Base
has_many :posts, :through => posts_relationships
会表达我的需要。 这是最正确和最简单的方法吗?这不是一个复杂的关系,所以我想尽可能简单地写出来。
答案 0 :(得分:2)
考虑多态关联。
Class User < ActiveRecord::Base
has_many :posts, :as=>:postings
end
Class Product < ActiveRecord::Base
has_many :posts, :as=>:postings
end
class Post
belongs_to :posting, :polymorphic=> :true
end