我见过许多属于多个父模型('Post','Product'等)的儿童模型(例如,'评论')的好例子。这是一个,例如:http://railscasts.com/episodes/154-polymorphic-association。
我希望完成相反的事情,其中父母有多个多态孩子。一个典型的例子是'ActivityFeed',它有多种类型的孩子('Photo','Comment'等)。
如何在Rails中建模这种关系?
答案 0 :(得分:4)
您可能想要使用位于ActivityItem
和ActivityFeed
,Photo
等之间的某种中间记录,例如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