我有一个带有命名空间“商店”的引擎。一切都很好,除了如果我不在关联声明中添加 class_name: 'Shop::MyAssociatedModel' 会出错。例如,产品有很多 product_images,所以如果产品模型看起来像这样,一切都很好:
module Shop
class Product < ActiveRecord::Base
has_many :product_images, :class_name => 'Shop::ProductImage'
end
end
如果我不使用 class_name 我会收到一个错误:
uninitialized constant ProductImage
在这条线上:
@products.in_groups_of(3) do |products|
...
这是我的 engine.rb 文件:
module Shop
class Engine < Rails::Engine
isolate_namespace Shop
...
end
end
该引擎是使用 rails v 3.1.something 上的 rails generator 创建的,我升级到 rails 3.2.5