0

我有一个带有基本字段集的模型 BillService。接下来,我要创建两个模型 BillItem 和 BillGroup,它们是 this 的继承者并具有附加字段(每个都有一个唯一的集合)。我还希望能够通过基类的所有继承人实例并检查具体实例的类。

我无法想象如何实现这一点。我试图用谷歌搜索它,但没有成功。我读到了 STI。这就是我需要的吗?

4

1 回答 1

0

ActiveRecord 原生支持 STI 架构。

  1. 创建 BillService 模型

class BillService < ActiveRecord::Base

end

  1. 创建一个文件夹 bill_service 并在此文件夹中创建您的 sti 模型

class BillService < ActiveRecord::Base

end

  1. 在表 bill_services 中添加类型字段

add_column :bill_services, :type, :string

  1. 迁移

rake db:migrate

  1. 使用您的性病

rails c

BillService::BillItem.all

BillService::BillItem.new

它等于

BillService.where(type: 'BillService::BillItem')

ActiveRecord 由 YouModel::YourSubModel 设置自动类型字段。

于 2015-08-10T12:58:35.580 回答