登录后激活管理员重定向

问题描述:

当管理员登录时,它会自动重定向到主主页(即不是管理控制台)。我不知道为什么它这个还是怎么改...登录后激活管理员重定向

的routes.rb

ActiveAdmin.routes(self) 

    devise_for :admin_user, ActiveAdmin::Devise.config 


    get "guidelines/topic" 
    get "guidelines/topichospital" 
    get "guidelines/topicspecialty" 
    get "guidelines/favourite" 
    get "profiles/show" 
    get "guidelines/show" 

root :to => 'guidelines#index' 

我application_controller.rb已更改用户登录后重定向(但不应该是管理员登录) - 这是问题吗?

include PublicActivity::StoreController 
    protect_from_forgery 

def after_sign_in_path_for(resource) 
favourites_path 
end 

hide_action :current_user 
+2

什么在你的控制器里放置了'login'动作?已从应用程序控制器添加了 – Zippie 2013-03-13 01:06:03

+0

- 是吗?在'def after_sign_in_path_for'方法中使用devise – tessad 2013-03-13 01:11:26

+0

,您应该写入,而不是'favourites_path'您希望它重定向到。我从来没有使用过设计,所以我不确定这是否正确,但尝试用'admin_root_path'替换'favourites_path'。使用耙路径查看所有路线,然后在方法 – Zippie 2013-03-13 01:17:48

感谢Zippie我找到了答案。在admin_controller.rb我说:

def after_sign_in_path_for(resource) 
    admin_dashboard 
end 
+2

要做到这一点Rails 4.1和ActiveAdmin 1.0.0.pre,请使用active_admin初始程序中的config.root_to。 – 2014-12-20 20:22:53

我不得不这样做:

class ActiveAdmin::Devise::SessionsController 
    def after_sign_in_path_for(resource) 
    admin_dashboard_path 
    end 
end 

来解决该问题。

如果您需要它也可以打开一些定制的可能性。

if resource.class == User 
    root_path 
elsif resource.class == AdminUser 
    admin_root_path 
else 
end