我有一个应用程序,我希望有一个/ admin / active_vulnerabilities的路由,但当我生成控制器为rails generate controller ActiveVulnerabilities
并将以下内容放入我的routes.rb
namespace :admin do
resources :users
resources :active_vulnerabilities
# Admin root
root to: 'application#index'
end
但我收到错误uninitialized constant Admin::ActiveVulnerabilitiesController
,所以我将控制器更改为class Admin::ActiveVulnerabilitiesController < ApplicationController
然后我收到错误Unable to autoload constant ActiveVulnerabilitiesController, expected /home/luke/projects/vuln_frontend/app/controllers/active_vulnerabilities_controller.rb to define it
,但提到的文件是我的控制器,其命名完全正确。
答案 0 :(得分:1)
您的控制器应该放在app/controllers/admin/
中,因为命名空间。否则,您可以忘记此目录和命名空间,并仅使用范围
scope :admin do
resources :active_vulnerabilities
end
class ActiveVulnerabilitiesController < ApplicationController