子文件夹中的命名空间控制器+模型

时间:2011-01-28 21:11:28

标签: ruby-on-rails

我为产品相关的控制器创建了一个命名空间......

  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

我需要额外配置这两个一起工作吗?

1 个答案:

答案 0 :(得分:9)

只需将/app/models/products/重命名为/app/models/products_related/

如果子文件夹是模型的名称,Rails会假定其中的文件派生自它。