Ruby on rails 如何在Rails中实现类表继承?

Ruby on rails 如何在Rails中实现类表继承?,ruby-on-rails,class-table-inheritance,Ruby On Rails,Class Table Inheritance,我刚刚读完《使用Rails的敏捷Web开发》(AgileWeb Development with Rails,第四版()),需要一些帮助来理解如何在模型之间创建父子关系。我在这里搜索了一下StackOverflow,大致了解了单表继承和类表继承 我有一堆关于档案收藏中不同项目的元数据。大部分元数据对于所有对象都是相同的,例如,登录号、标题、描述、版权等。除了通用元数据外,还有一些元数据仅适用于某些类型的项目,例如,照片需要跟踪项目是彩色还是黑白;录音需要记录格式(CD、DAT、盒式磁带等)和持续

我刚刚读完《使用Rails的敏捷Web开发》(AgileWeb Development with Rails,第四版()),需要一些帮助来理解如何在模型之间创建父子关系。我在这里搜索了一下StackOverflow,大致了解了单表继承和类表继承

我有一堆关于档案收藏中不同项目的元数据。大部分元数据对于所有对象都是相同的,例如,登录号、标题、描述、版权等。除了通用元数据外,还有一些元数据仅适用于某些类型的项目,例如,照片需要跟踪项目是彩色还是黑白;录音需要记录格式(CD、DAT、盒式磁带等)和持续时间;文本材料需要记录页数;等等

       Class hierarchy

            Item
              |
  +-----------+------------+
  |           |            |
Photo   SoundRecording    Text
因为我将有数千条记录,所以我排除了单表继承太低效的可能性。我理解这里介绍的类表继承的思想:但是我不知道如何在一个新的RubyonRails项目中实现它。我是将类表继承实现为多态关联()还是走错了方向

谢谢。是的。 归结起来就是这样(在Rails 3中)

class业务true
结束
class餐厅
这里有一个关于如何做的很好的教程


有一个gem可以做到这一点,它还支持rails 5.1


谢谢,本教程与我所要的完全一样。
class Business < ActiveRecord::Base
  belongs_to  :biz, :polymorphic => true
end

class Restaurant < ActiveRecord::Base
  acts_as_biz
end