私は私のレールアプリでユーザー認証のためにDeviseを使用しています。ユーザーがリーグのメンバーであるかどうかを確認する設定があります。彼がただ1リーグのメンバーであれば、彼はいくつかのリーグを持っていればuser_leagueページにリダイレクトされ、リーグインデックスに指揮され、彼らは自分が管理したいリーグを選ぶことができます。 「after_sign_in_path_for」メソッドは、私は、デフォルトの使用によって、あまりにも認証のために考案レール管理宝石「アクティブ管理者」を設置し、この私のアプリでafter_sign_in_path_for(devise)が有効になったときにActive Adminがサインインする際に問題が発生しました
def after_sign_in_path_for(resource_or_scope)
user_leagues = UserLeague.where(:user_id => current_user.id)
if(user_leagues.count == 1)
user_league_url(user_leagues[0].league.id)
else
"https://stackoverflow.com/users/#{current_user.id}/leagues"
end
end
のように見えます。私は上記の「after_sign_in_path_for」機能を削除して、管理者は正常に動作します(しかし、私、私のレールのサーバーを再起動した場合
undefined method `admin_user_url' for #<ActiveAdmin::Devise::SessionsController:0x007f8be2f3e420>
基本的に私はそれを下にトレースさ:私はこのエラーを取得し、インストール後に、アクティブな管理にサインインしようと毎回私のアプリにログインすることはできません)、私はそれを入れてサーバを再起動すると、管理ページからエラーが表示されます。私は間違って何をしていますか?私のアプリのログインフローを維持し、アクティブな管理者にログインするにはどうすればいいですか?