是否可以覆盖此colummn的名称?我正在更改我的应用程序的某些部分以使用STI,还有其他字段正在使用中。我也希望它是整数类型。
有什么想法吗?
答案 0 :(得分:7)
根据ActiveRecord :: ModelSchema(3.2)中的代码,现在不推荐使用set_inheritance_column
方法,您应该使用self.inheritance_column = column
答案 1 :(得分:5)
在现代Rails中,您使用inheritance_column=
(注明panckreous):
class M < ApplicationRecord
self.inheritance_column = 'whatever'
#...
end
在旧版本的Rails中(即最初编写此答案时的情况),你会这样做
您可以使用[set_inheritance_column
] [3]更改名称:
将要使用的继承列的名称设置为给定值,或者(如果值为
nil
或false
)设置给定块返回的值。
该列仍然必须是一个字符串(或text
),因为AR想要放置the class name in there:
单表继承
Active Record允许通过在默认情况下将类名称存储在名为“type”的列中来继承。