[英]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.