1

假设我想构建类似 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

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

4

1 回答 1

2

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

单表继承以及在 Rails 中的使用位置

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

于 2012-11-11T15:40:10.287 回答