0

A'user有很多posts,aproduct有很多posts,任何给定post的都可以属于 auser或 a 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

会表达我的需要。 这是正确和最简单的方法吗? 这不是一个复杂的关系,所以我想尽可能简单地写它。

4

1 回答 1

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
于 2012-03-17T01:04:13.407 回答