我正在创建一个可安装的Rails引擎(3.2.x),其中有一个单表继承模型:
module Geo
class Location < ActiveRecord::Base; end
end
module Geo
class Country < Location; end
end
但是,在保存Location
时,type
字段包含Country
,而不是Geo::Country
...这对我来说没问题......除了我将引擎包含在另一个gem中后会出现此错误。
ActiveRecord :: SubclassNotFound:单表继承机制无法找到子类:'Country'。引发此错误是因为列'type'保留用于在继承的情况下存储类。如果您不打算将此列用于存储继承类或覆盖Geo :: Location.inheritance_column以使用另一列来获取该信息,请重命名此列。
最好的方法是什么?是否可以保留非命名空间类型(Country
而不是`Geo :: Country)?或者我是否必须告诉我的Geo :: Location模型明确使用命名空间?