Ruby on Rails添加嵌套的控制器/资源

时间:2017-11-13 12:40:30

标签: ruby-on-rails ruby

我有一个应用程序,我希望有一个/ 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,但提到的文件是我的控制器,其命名完全正确。

1 个答案:

答案 0 :(得分:1)

您的控制器应该放在app/controllers/admin/中,因为命名空间。否则,您可以忘记此目录和命名空间,并仅使用范围

scope :admin do
  resources :active_vulnerabilities
end

class ActiveVulnerabilitiesController < ApplicationController