我有三个模型User,Group,Employee。在用户和组模型之间实现单表继承。但是我不想在继承User模型但希望将User模型对象转换为Employee模型对象的Employee模型中进行单表继承。我通过在Employee模型中添加一段代码 self.inheritance_column =:_type_disabled 并通过在User对象上调用成为()方法来实现它。它适用于Rails 3.2.8但不适用于Rails 3.2.13版本。
例外是:
NoMethodError (undefined method `_type_disabled=' for #<Employee:0xb429428>)
代码段是:
class Employee < User
self.inheritance_column = :_type_disabled
def self.current
User.current.becomes(self)
end
.
.
.
.
.
end
请在Rails 3.2.13中为我提供解决方案。提前谢谢!
答案 0 :(得分:0)
我从朋友那里得到了答案,我们只需要在相应的模型中定义为虚拟属性(在我的例子中,是员工模型)
attr_accessor :_type_disabled
self.inheritance_column = :_type_disabled