ne peut pas créer deux comportements de redirection de CustomFailure pour un, pour concevoir une autre pour l'utilisateur admin_user

StackOverflow https://stackoverflow.com/questions/9317991

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

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top