对于路径标志后,您可以执行以下操作:识别用户登录后出来after_sign_out_path_for方法设计
def after_sign_in_path_for(resource)
if resource.class == User
if resource.sign_in_count < 2
'/dashboard'
else
'/dashboard/home'
end
elsif resource.class == AdminUser
I18n.locale = "en"
'/admin/dashboard'
else
I18n.locale = "en"
'/'
end
end
但是,我怎么能确认我的用户是User
或sign_out
后AdminUser
?
def after_sign_out_path_for(resource_or_scope)
if resource_or_scope == AdminUser
这是行不通的。有没有办法检查它?
注意:尽管我已经做了一个猴子补丁并且为admin定义了新的root,并且我的问题已经解决,但是我想知道是否有任何方法可以使用Devise的after_sign_out_path_for
方法实现?
好,谢谢......不过这是我已经知道了。设计中没有直接检查的方法吗? (虽然我知道问题是会话被破坏。) – 2013-03-19 13:40:22