我在rails应用中使用active_admin。以前,我曾经在设计登录失败时渲染自定义页面。现在的问题是,如果active_admin登录失败,也会呈现相同的自定义页面。
我遇到了这个问题并且在我的开发过程中放弃了放弃active_admin。请帮忙。
我的CustomFailure定义在这里:
class CustomFailure < Devise::FailureApp
def redirect_url
signin_path
end
def respond
if http_auth?
http_auth
else
redirect
end
end
end
有人可以告诉我如何修改代码以使用户登录的重定向路径失败并且admin_user登录失败。我的管理员用户登录路径为:admin_user_session_path
答案 0 :(得分:5)
你必须使用范围来解决这个问题: -
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
希望这有助于:)
答案 1 :(得分:0)
application_controller.rb
...
def after_sign_in_path_for(resource_or_scope)
if admin_user
redirect_to whatever_path
else
root_path
end
end
...
我可能不知道对admin用户的正确调用,但这应该有用。