使用 Rails 的 ActiveRecord 可以进行如下的 STI(Single Table Inheritance:单表继承)。
- 表中需要有
type(string)
字段
- 创建继承了那个表对应的模型类的类。
例如,书 (book) 和计算机 (computer),它们部分字段相同,部分字段不同。像下面这样使用一个表 (products),创建 3 个模型。就像假装存在 books 表和 computers 表一样,也可以进行 Book 模型和 Computer 模型的操作。

由此,
Product.all # => 从products表取得包含Book, Computer的全部数据
Computer.all # => 从products表取得type为"Computer"的数据
Book.all # => 从products表取得type为"Book"的数据
像这样,
...