Rails activeadmin : 如何让 activeadmin 为每个命名空间都设置重定向路径?
Rails activeadmin : how to make activeadmin have redirect path for each namespace?
我已阅读 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有两个重定向路径?
似乎只有其中一个是重定向路由
我找到了答案,我只是编写代码来覆盖 application_controller.rb
中的方法 after_sign_in_path_for
,就像这样
def after_sign_in_path_for(resource)
if resource.class == AdminUser
admin_dashboard_path
elsif resource.class == User
root_path
end
end
因此当我们登录时,activeadmin 有两种重定向路径
我已阅读 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有两个重定向路径? 似乎只有其中一个是重定向路由
我找到了答案,我只是编写代码来覆盖 application_controller.rb
中的方法 after_sign_in_path_for
,就像这样
def after_sign_in_path_for(resource)
if resource.class == AdminUser
admin_dashboard_path
elsif resource.class == User
root_path
end
end
因此当我们登录时,activeadmin 有两种重定向路径