我已阅读this question并已尝试过。实际上,最终的路线是两条不同的路线。就我而言,代码就像
devise_for: users, ActiveAdmin :: Devise.config.merge ({path:: user_belilah})
devise_for: admin_users, ActiveAdmin :: Devise.config
代码生成user_belilah
和admin
当我通过user_belilah
路线登录时,该网页会重定向到admin
路径。
正如我写的那样
config.default_namespace = :user_belilah
config.namespace :admin do |admin|
admin.site_title = 'Admin Site'
admin.authentication_method = :authenticate_admin_user!
admin.current_user_method = :current_admin_user
admin.logout_link_path = :destroy_admin_user_session_path
user.root_to = 'dashboard#index'
end
config.namespace :user_belilah do |user|
user.site_title = 'User Site'
user.authentication_method = :authenticate_user!
user.current_user_method = :current_user
user.logout_link_path = :destroy_user_session_path
user.root_to = 'products#index'
end
我为user_belilah
编写了default_namespace,并为每个命名空间创建了.root_to
。然后当我登录时,我成功地重定向到user_belilah / dashboard
。当我通过路径管理员再次登录时,该页面将重定向到user_belilah
如何让activeadmin有两个重定向路径? 似乎只有其中一个是重定向路径
答案 0 :(得分:1)
我找到了答案,我只是编写代码来覆盖after_sign_in_path_for
中的方法application_controller.rb
,就像这样
def after_sign_in_path_for(resource)
if resource.class == AdminUser
admin_dashboard_path
elsif resource.class == User
root_path
end
end
所以activeadmin在我们登录后有两个重定向根