我想我需要在Rails中使用STI。
这是我的班级:
class Person < ActiveRecord::Base
end
class Landlord < Person
end
并且人员表中有一个:type
列,这是一个字符串。
所以,我期望在表中看到,作为Person的每一行都将类型设置为“Person”,并且每个Landlord都将类型设置为“Landlord”。但是,这不是我所看到的。每个房东的类型都设置为“Landlord”,但所有Person的类型都设置为nil。这很好可能是rails工作的方式,但我只是在寻找一些确认。
答案 0 :(得分:11)
确实,这是STI的工作方式。基类在数据库中的类型为NULL(或者在ruby中为nil)。
答案 1 :(得分:5)
如果您想要添加type
列,并且默认值为"Person"
,则可以解决。