给出以下代码:
class BaseType < ActiveRecord::Base
attr_accessible :a, :type
end
class SubType < BaseType
attr_accessible :b
end
我希望a
中可以访问属性BaseType
,a
可以访问属性b
和SubType
,而无需声明{ {1}}再次{1}}。单表继承在这种情况下没有帮助,或者至少我无法弄明白。还可以应用哪些其他解决方案?
更新
在来自timpone的评论之后,这就是我测试上面代码的方式:
通过以下方式创建模型:
a
将sub_type.rb中的超类从SubType
更改为rails g model BaseType a:string type:string
rails g model SubType b:string
。迁移后,我尝试在rails控制台中创建一个新的SubType实例,并出现以下错误:
ActiveRecord::Base
为什么会这样?