Rails STI和“type”字符串的设置

我想我需要在Rails中使用STI。

这是我的class级:

class Person < ActiveRecord::Base end class Landlord < Person end 

和people表有一个:type列,它是一个字符串。

所以,我期望在表中看到的是,作为Person的每一行都将类型设置为“Person”,并且每个Landlord都将类型设置为“Landlord”。 但是,这不是我所看到的。 每个房东的类型都设置为“Landlord”,但所有Person的类型都设置为nil。 这很好可能是rails的工作方式,但我只是在寻找一些确认。

事实上,这是STI的工作方式。 基类在数据库中的类型为NULL(或者在ruby中为nil)。

如果需要,可以通过添加默认值为"Person"type列来解决此问题。