簡體   English   中英

在另一個Rails引擎中訪問devise current_user

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

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