2011-10-03 99 views
23

使用Devise登录后,是否可以将用户重定向到不同的页面(基于角色)?它似乎只是重定向到根目录:to => ...在routes.rb中定义的页面使用Devise登录后重定向

谢谢!

回答

28

默认情况下制定确实路由根后的行动。有一个关于在制定维基覆盖这些动作一个很好的文章,​​

或者,你可以通过设置stored_locations_for(resource)为零走得更远,然后有不同的重定向每个动作,即:after_sign_up_path(resource)after_sign_in_path(resource)等。

+0

谢谢,这就是我要找的。 :-) – rsl

+0

对。如果你看看注册控制器的设计,你可以看到那里的所有不同的方法,然后可以随意覆盖它们中的任何一个。 – janders223

+1

@ janders223如何获得设计注册控制器的访问权限? – Joel

14

简单,你可以在添加此方法应用程序控制器

def after_sign_in_path_for(resource) 
    user_path(current_user) #your path 
end 
2

只粘贴下面的代码到应用程序控制器或任何控制器,你需要做的操作;

def after_sign_in_path_for(resource) 
    users_path 
end