[英]Set a session variable in devise on sign in
我想在用户基于User表中的某个字段登录后设置会话变量。 如果不需要,我不需要创建自定义Devise控制器。 有办法吗? 还是我必须走定制控制器路线?
有一个after_sign_in_path_for回调,您可以在ApplicationController
添加它
protected
def after_sign_in_path_for(resource)
session[:domain_prefix] = current_user.domain_prefix
user_path(resource)
end
不要忘记在方法的最后一行返回路径,否则回调会将请求重定向到session[:domain_prefix]
这个怎么样:
我要看的第一个资源是http://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-on-successful-sign-in 。 另外,请查看使用Rails devise gem成功注册后如何重定向到特定页面? 一些想法。
您可以执行以下操作:
def after_sign_in_path_for(resource_or_scope)
session[:account_type] = current_user.account_type
end
您可以在ApplicationController或自定义RegistrationsController中实现此方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.