[英]Accessing devise current_user inside another rails engine
所以這是我的問題。 我有一個已經設計好的主應用程序,為此我正在為其創建引擎。 在引擎中,我需要來自主應用程序的current_user。 不知道如何得到,我嘗試了此鏈接,但無濟於事。 任何幫助都會很棒。 如果不建議這樣做,請說明原因。
解決了
在引擎中,您可以使用“ main_app”訪問主應用。 假設您已經設計了該變量,就可以訪問當前用戶。 為了訪問devise current_user,您要做的就是
main_app.scope.env['warden'].user
Devise將用戶存儲在會話中的管理員密鑰中。 由於它在內部使用了管理員來驗證和存儲會話中的詳細信息。
如果有其他解決方案,請告訴我。
如果您使用的是Rails 5.1+,它將改為
main_app.scope.request.env['warden'].user
那是因為env已被棄用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.