Sah*_*ver 6 customization ruby-on-rails devise activeadmin
我有两个模型User和ActiveAdmin,我想在其中应用我的devise集成.
我有custom_failure.rb以下情况
class CustomFailure < Devise::FailureApp
def redirect_url
login_path
end
# def redirect_url
# root_path
# end
def respond
if http_auth?
http_auth
else
redirect
end
end
end
Run Code Online (Sandbox Code Playgroud)
这似乎很有效.
另外,可以在我的application controller喜欢中定义:
def after_sign_in_path_for(resource)
# case resource
if resource.is_a?(Admin)
admin_dashboard_path
else
root_path
end
end
Run Code Online (Sandbox Code Playgroud)
和
def after_sign_out_path_for(resource_or_scope)
login_path
end
Run Code Online (Sandbox Code Playgroud)
但问题是如何使用它resource,custom_failure.rb以便我可以相应地重定向登录user login或为admin login?? 根据当前情况,它总是重定向到用户登录页面?
My *_*God 13
试着把custom_failure.rb你的lib文件夹放进去.然后确保加载文件.您可能会尝试自动加载lib中的所有文件.
然后重定向到特定页面.
更新:
你必须使用范围来解决这个问题: -
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4288 次 |
| 最近记录: |