NameError(未初始化的常量

时间:2016-02-27 11:00:37

标签: ruby-on-rails

我在尝试访问页面时遇到错误:

NameError (uninitialized constant Web::Admin::Products::BrandsController::Brand):
app/controllers/web/admin/products/brands_controller.rb:3:in `index'

我的控制器:

app/controllers/web/admin/products/brands_controller.rb

我的模特:

app/models/product/brand.rb

我的routes.rb

scope module: :web do

  namespace :admin do
    namespace :products do
      resources :brands     
    end 

    resources :products do
      scope module: :products do          
        resources :product_types
      end      
    end

  end
end

我的索引操作in app/controllers/web/admin/products/brands_controller.rb

def index
    @search = Brand.all
    @brands = @search.result(distinct: true)
end

请帮帮我

2 个答案:

答案 0 :(得分:0)

我认为您不应该为您的模型使用命名空间: app/models/product/brand.rbapp/models/brand.rb

答案 1 :(得分:0)

命名空间中的所有问题 你有两种解决方法:

  1. 将您的模型重命名为Product::Brand

  2. 更改模型的方式:

  3. 表格app/models/product/brand.rb

    app/models/brand.rb