1

デバイス用に 2 つのコントローラーをオーバーライドしようとしていますが、その結果、routes.rb で最初にリストされたコントローラーのみがオーバーライドされます。

  devise_for :users, :controllers => { :sessions => "users/sessions" }
  devise_for :users, :controllers => { :registrations => "users/registrations" }

私が得るものは次のとおりです。

new_user_session GET    /users/sign_in(.:format)                             users/sessions#new
                             user_session POST   /users/sign_in(.:format)                             users/sessions#create
                     destroy_user_session DELETE /users/sign_out(.:format)                            users/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

最初に登録コントローラーをリストすると機能しますが、セッションコントローラーは機能しません、、

何か案が ?

4

1 に答える 1

1

ルートを定義した方法は機能しません。レールは最初に一致したルーティングに進みます。次のように書き直すことができます。

devise_for :users, :controllers => { :sessions => "users/sessions", :registrations => "users/registrations" }

その後、動作するはずです。

于 2012-11-15T15:07:47.277 に答える