6

アプリケーションのリダイレクトの設定に問題があります。ユーザーは自分のプロファイル (users/show) に移動し、管理者は管理ダッシュボードに移動する必要があります。これを設定するにはどうすればよいですか?

現在、次のエラーが発生しています。

 NameError in ActiveAdmin::Devise::SessionsController#create

    undefined local variable or method `admin' for #<ActiveAdmin::Devise::SessionsController:0x007febe12667e8>

アプリケーションコントローラー

def after_sign_in_path_for(resource_or_scope)
   if admin
   redirect_to admin_dashboard_path
  else
   @user
  end
 end
end
4

2 に答える 2

15

アクセスする変数がありませんadmin。指定されているパラメーターが何であるかを確認する必要があります。

def after_sign_in_path_for(resource)
  stored_location_for(resource) ||
    if resource.is_a?(Admin)
      admin_dashboard_path
    else
      user_path(resource)
    end
end

また、このメソッド内でリダイレクトしないでください。デバイスが使用できるパスのみを返す必要があります。

于 2012-07-08T17:58:21.087 に答える