【问题标题】:Rails Polymorphic ChildrenRails 多态儿童
【发布时间】:2013-09-19 11:04:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: ruby-on-rails ruby activerecord polymorphism polymorphic-associations


    【解决方案1】:

    您可能想要使用某种中间记录,比如ActivityItem,它位于ActivityFeedPhotoComment 等之间...

    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
    

    【讨论】:

    • 这看起来像是要走的路。谢谢杰里米!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    相关资源
    最近更新 更多