假设我想构建类似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
或者我是否必须使用多态关联?如果是这样,它会是什么样子?如果它无动于衷,每种方法的优缺点是什么?
答案 0 :(得分:2)
在您的示例中,我建议您使用单表继承
Single table inheritance and where to use it in Rails
您有一个具有不同类型且具有共同行为的实体 - 它正是为STI创建的。