0

http://bob.dev/assessments/newの「new」パスでアクションコントローラーの例外を受け取りました。私は最近、プロジェクトにDeviseとSextantを追加しましたが、問題を引き起こしているパスは以前は機能していました。

例外:

uninitialized constant ErrorsController (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

そして最後に、Sextant経由のhttp://bob.dev/rails/routesからの出力:

        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
4

2 に答える 2

1

あなたは安全に線を取り除くことができます

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

それらは必要ありません。それはあなたのエラーを解決します。ただし、アプリのカスタムエラーハンドラーを作成する場合は、Joseの投稿http://blog.plataformatec.com.br/2012/01/my-five-favorite-hidden-features-in-rails-の3番を確認してください。 3-2 /

于 2012-06-28T04:05:01.507 に答える
0

'Errors'という単語は予約されており、新しい依存関係の1つで競合していると思います。それらのルート/コントローラーを別の名前で呼ぶことができますか?

于 2012-06-26T19:58:06.270 に答える