Так что я использую Devise для аутентификации пользователя в моем приложении rails. У меня есть настройка, которая проверяет, является ли пользователь членом лиги. Если он является просто членом 1 лиги, он перенаправляется на страницу user_league, если у него несколько лиг, он перенаправляется на свой индекс лиги, чтобы они могли выбирать, какую лигу они хотят администрировать. метод after_sign_in_path_for выглядит следующим образом
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
"/users/#{current_user.id}/leagues"
end
end
Я установил ram admin gem 'Active Admin', который по умолчанию также использует devise для аутентификации. Каждый раз, когда я пытаюсь войти в Active Admin после установки, я получаю эту ошибку:
undefined method `admin_user_url' for #<ActiveAdmin::Devise::SessionsController:0x007f8be2f3e420>
В основном я проследил это до того, что если я удалю функцию 'after_sign_in_path_for' выше и перезапущу свой сервер rails, администратор работает нормально (но я не могу войти в свое приложение, как я хочу), и если я вставлю его обратно перезагрузите мой сервер, я снова получаю сообщение об ошибке на странице администратора. Что я делаю не так? Как я могу поддерживать поток входа в мое приложение и по-прежнему входить в систему с активным администратором?