1

Railsアプリには2つの別々のログインモデルがあります。

  • ユーザー
  • 管理者

私のレーキルートの出力は次のとおりです。grep devise

 new_admin_session GET    /admins/sign_in(.:format)                                                 devise/sessions#new
                  admin_session POST   /admins/sign_in(.:format)                                                 devise/sessions#create
          destroy_admin_session DELETE /admins/sign_out(.:format)                                                devise/sessions#destroy
               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

そしてApplicationControllerで私は持っています

 def after_sign_in_path_for(resource)
    request.referrer 
  end

after_admin_sign_in_path_for(resource) それは私のユーザーモデルにはうまく機能しますが、私の管理者モデルに対してそれを行う方法は、サインインした後、私が書いた場合のように同じページにリダイレクトされる(私は組み込みのデバイスコントローラーを使用します)ので、ログにあります:

Filter chain halted as :require_no_authentication rendered or redirected
4

1 に答える 1

14
def after_sign_in_path_for(resource)
  case resource
  when User then request.referrer 
  when Admin then ....
  end
end
于 2012-12-30T17:30:52.873 に答える