ne peut pas créer deux comportements de redirection de CustomFailure pour un, pour concevoir une autre pour l'utilisateur admin_user
-
26-10-2019 - |
Question
J'utilise active_admin dans mon application rails. Auparavant, j'utilisé pour rendre une page personnalisée sur connexion a échoué concevoir. Le problème est maintenant que la même page personnalisée se rend si la connexion de active_admin échoue aussi.
Je suis coincé avec ce problème et trop loin le long de mon développement à abandonner active_admin. S'il vous plaît aider.
Mon définition CustomFailure est ici:
class CustomFailure < Devise::FailureApp
def redirect_url
signin_path
end
def respond
if http_auth?
http_auth
else
redirect
end
end
end
Quelqu'un pourrait-il me dire comment modifier le code pour avoir des chemins redirect pour l'utilisateur et admin_user Échec de la connexion Échec de la connexion. Mon utilisateur admin signin chemin est: admin_user_session_path
La solution
Vous devez utiliser la portée pour résoudre ceci: -
class CustomFailure < Devise::FailureApp
def redirect_url
if warden_options[:scope] == :user
signin_path
else
new_admin_user_session_path
end
end
def respond
if http_auth?
http_auth
else
redirect
end
end
end
espérons que cette aide:)
Autres conseils
application_controller.rb
...
def after_sign_in_path_for(resource_or_scope)
if admin_user
redirect_to whatever_path
else
root_path
end
end
...
Je ne peut pas savoir à l'appel correct pour l'utilisateur admin mais cela devrait fonctionner.