3

我见过许多属于多个父模型(“帖子”、“产品”等)的子模型(比如“评论”)的好例子。这是一个,例如:http ://railscasts.com/episodes/154-polymorphic-association 。

然而,我希望完成相反的事情,即父母有多个多态孩子。一个典型的例子是一个“ActivityFeed”,它有多种类型的孩子(“照片”、“评论”等)。

如何在 Rails 中建模这种关系?

4

1 回答 1

4

您可能想要使用某种中间记录,例如ActivityItem,位于ActivityFeedPhoto,Comment等之间...

class ActivityFeed < ActiveRecord::Base
  has_many :activity_items
end

class ActivityItem < ActiveRecord::Base
  belongs_to :activity_feed
  belongs_to :item, :polymorphic => true
end

class Photo < ActiveRecord::Base
  has_many :activity_items, :as => :item
end

class Comment < ActiveRecord::Base
  has_many :activity_items, :as => :item
end
于 2013-09-15T03:45:45.453 回答