我为产品相关的控制器创建了一个命名空间......
scope :module => :products do
resources :products
resources :product_images
end
效果很好。
独立地,我添加了一个自动加载路径,所以我可以将模型放入子目录。
config.autoload_paths += Dir["#{config.root}/app/models/**/"]
也很有效。
当我尝试同时使用两者时......,我收到错误。
Expected /app/models/products/product.rb to define Products::Product
即使我不应该为我的模型命名空间,为了排除故障,如果我命名我的模型...错误变成......
Expected /app/models/products/product.rb to define Product
我需要额外配置这两个一起工作吗?
答案 0 :(得分:9)
只需将/app/models/products/
重命名为/app/models/products_related/
。
如果子文件夹是模型的名称,Rails会假定其中的文件派生自它。