我有一个带有基本字段集的模型 BillService。接下来,我要创建两个模型 BillItem 和 BillGroup,它们是 this 的继承者并具有附加字段(每个都有一个唯一的集合)。我还希望能够通过基类的所有继承人实例并检查具体实例的类。
我无法想象如何实现这一点。我试图用谷歌搜索它,但没有成功。我读到了 STI。这就是我需要的吗?
我有一个带有基本字段集的模型 BillService。接下来,我要创建两个模型 BillItem 和 BillGroup,它们是 this 的继承者并具有附加字段(每个都有一个唯一的集合)。我还希望能够通过基类的所有继承人实例并检查具体实例的类。
我无法想象如何实现这一点。我试图用谷歌搜索它,但没有成功。我读到了 STI。这就是我需要的吗?
ActiveRecord 原生支持 STI 架构。
class BillService < ActiveRecord::Base
end
class BillService < ActiveRecord::Base
end
add_column :bill_services, :type, :string
rake db:migrate
rails c
BillService::BillItem.all
BillService::BillItem.new
它等于
BillService.where(type: 'BillService::BillItem')
ActiveRecord 由 YouModel::YourSubModel 设置自动类型字段。