Ruby on rails '上的路由错误;新';路径(未初始化的常量错误控制器(ActionController::RoutingError))

Ruby on rails '上的路由错误;新';路径(未初始化的常量错误控制器(ActionController::RoutingError)),ruby-on-rails,routes,Ruby On Rails,Routes,我在的“新建”路径上收到一个操作控制器异常。我最近在这个项目中增加了Desive和Sextanter,给我这个问题的路径在以前是可行的 例外情况: 未初始化常量错误控制器(ActionController::RoutingError) 路线: Bob::Application.routes.draw do devise_for :users mount_sextant # Sextant gem ###########

我在的“新建”路径上收到一个操作控制器异常。我最近在这个项目中增加了Desive和Sextanter,给我这个问题的路径在以前是可行的

例外情况:

未初始化常量错误控制器(ActionController::RoutingError)

路线:

Bob::Application.routes.draw do
  devise_for :users

  mount_sextant                                   # Sextant gem #####################
  match '*not_found' => 'errors#handle404'        # visit http://bob.dev/rails/routes
  match "*path" => 'errors#handle404'             ###################################

  # resources :users                              # Authentication from scratch #####
  # resources :sessions                           ###################################

  root :to => "assessments#index"
    resources :assessments
end
最后,通过六分仪输出:

        new_user_session GET    /users/sign_in(.:format)          devise/sessions#new
            user_session POST   /users/sign_in(.:format)          devise/sessions#create
    destroy_user_session DELETE /users/sign_out(.:format)         devise/sessions#destroy
           user_password POST   /users/password(.:format)         devise/passwords#create
       new_user_password GET    /users/password/new(.:format)     devise/passwords#new
      edit_user_password GET    /users/password/edit(.:format)    devise/passwords#edit
                         PUT    /users/password(.:format)         devise/passwords#update
cancel_user_registration GET    /users/cancel(.:format)           devise/registrations#cancel
       user_registration POST   /users(.:format)                  devise/registrations#create
   new_user_registration GET    /users/sign_up(.:format)          devise/registrations#new
  edit_user_registration GET    /users/edit(.:format)             devise/registrations#edit
                         PUT    /users(.:format)                  devise/registrations#update
                         DELETE /users(.:format)                  devise/registrations#destroy
       user_confirmation POST   /users/confirmation(.:format)     devise/confirmations#create
   new_user_confirmation GET    /users/confirmation/new(.:format) devise/confirmations#new
                         GET    /users/confirmation(.:format)     devise/confirmations#show
            rails_routes GET    /rails/routes(.:format)           rails/routes#index
             rails_route GET    /rails/routes/:id(.:format)       rails/routes#show
                                /*not_found(.:format)             errors#handle404
                                /*path(.:format)                  errors#handle404
                    root        /                                 assessments#index
             assessments GET    /assessments(.:format)            assessments#index
                         POST   /assessments(.:format)            assessments#create
          new_assessment GET    /assessments/new(.:format)        assessments#new
         edit_assessment GET    /assessments/:id/edit(.:format)   assessments#edit
              assessment GET    /assessments/:id(.:format)        assessments#show
                         PUT    /assessments/:id(.:format)        assessments#update
                         DELETE /assessments/:id(.:format)        assessments#destroy
                         GET    /rails/routes(.:format)           rails/routes#index
                         GET    /rails/routes/:id(.:format)       rails/routes#show

我猜“Errors”这个词是保留的,在一个新的依赖项中是冲突的。你能给这些线路/控制器换个名字吗?

你可以安全地移除线路

  match '*not_found' => 'errors#handle404'        
  match "*path" => 'errors#handle404'             

不需要它们。那会解决你的错误。虽然如果你想为你的应用程序制作一个自定义错误处理程序,请查看Jose帖子中的第3条,这是不正确的,但是你可以通过制作一个错误控制器来自己检查。在发布猜测后,我通常会尝试找出一种方法来验证它们,并将其包含在帖子中,如果它太长而无法尝试,则有助于OP调试。打得好,我应该将其添加为注释,而不是答案。实际上,我应该在发布之前验证它。我会在早上删除它。