chevron_left

Ruby On Rails 实践教程

免费
第 4.5 回

教程文档

Ruby On Rails 实践教程 - 单表继承(STI)

2023年11月15日
Ruby On Rails 实践教程

单表继承(STI)

使用 Rails 的 ActiveRecord 可以进行如下的 STI(Single Table Inheritance:单表继承)。

  • 表中需要有type(string)字段
  • 创建继承了那个表对应的模型类的类。

例如,书 (book) 和计算机 (computer),它们部分字段相同,部分字段不同。像下面这样使用一个表 (products),创建 3 个模型。就像假装存在 books 表和 computers 表一样,也可以进行 Book 模型和 Computer 模型的操作。

1.png

由此,

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

像这样, ...

课程介绍

Ruby On Rails 实践,「长乐未央」站长刘东 Rails 开发经验大杂烩。

查找 Rails 资料,使用 Rails 神兵利器攻城略地知识宝库。

文档主线参考:nipe880324的「Rails Webook」。由于他写的原始博客(日文),已经无法访问,所以就不提供访问地址了。

他原始文档是使用的 Rails 4,我根据他的内容,重新编排成 Rails 6 的。然后再根据我个人开发经验,再增加 Rails 6 的新内容、新的 Gem 包教程。

适合这样的人

新手