我有一个带有基本字段集的模型BillService。接下来我想创建两个模型BillItem和BillGroup,它们是这个的继承人,并且有其他字段(每个都有一个唯一的集合)。我还希望能够通过基类获取所有继承实例并检查具体实例的类。
我无法想象如何实现这一点。我试图谷歌它但没有成功。我读到了STI。这就是我需要的东西?
答案 0 :(得分:0)
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自动设置字段类型。