可安装的Rails :: Engine中的单表继承类型不包含名称空间

时间:2014-02-03 13:06:13

标签: ruby-on-rails inheritance activerecord

我正在创建一个可安装的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模型明确使用命名空间?

0 个答案:

没有答案