簡體   English   中英

在登錄時設計一個會話變量

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM