1

给定以下代码:

class BaseType < ActiveRecord::Base
  attr_accessible :a, :type
end

class SubType < BaseType
  attr_accessible :b
end

我希望属性a可以在 中访问BaseType,并且属性ab可以在 中访问,SubType而无需在 中a再次声明SubType。在这种情况下,单表继承没有帮助,或者至少我无法弄清楚。还可以应用哪些其他解决方案?

更新:

在 timpone 发表评论之后,这就是我测试上面代码的方式:

通过以下方式创建模型:

rails g model BaseType a:string type:string
rails g model SubType b:string

将 sub_type.rb 中的超类从 更改ActiveRecord::BaseBaseType。迁移后,我尝试在 rails 控制台中创建一个新的 SubType 实例并收到以下错误:

1.9.3p194 :001 > SubType.create(:b => "A")
ActiveRecord::UnknownAttributeError: unknown attribute: b

为什么呢?

4

0 回答 0