【问题标题】:Should I use simple or polymorphic associations in this case? [Rails]在这种情况下我应该使用简单关联还是多态关联? [导轨]
【发布时间】:2012-11-11 14:58:02
【问题描述】:

假设我想构建类似 tumblr 的东西,这是一种博客,其中的帖子可以是多种内容之一(文本、引用、图像、链接等)。

我可以使用简单的关联,例如...

Class Blog < ActiveRecord::Base
  has_many :quotes
  has_many :images
  has_many :links
etc

Class Quote < ActiveRecord::Base
  belongs_to :blog
end

Class Image < ActiveRecord::Base
  belongs_to :blog
etc

或者我必须使用多态关联吗?如果是这样,它会是什么样子?如果无所谓,每种方法的优缺点是什么?

【问题讨论】:

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


    【解决方案1】:

    在您的示例中,我建议您使用单表继承

    Single table inheritance and where to use it in Rails

    您拥有一个具有不同类型且具有共同行为的实体 - 这正是创建 STI 的目的。

    【讨论】:

    • 感谢您的回答,我对 STI 不熟悉。但是,根据我的阅读,当类型共享相同属性时,STI 似乎是一个很好的解决方案,但我的情况并非如此。即使使用示例,例如,Quote 将具有 excerptauthor,而 Link 将具有 urltitle 等。实际上并没有太多重叠。在这种情况下,我找不到有关如何处理 STI 的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 2017-03-05
    相关资源
    最近更新 更多