所以这是我的问题。我有一个主要应用程序,它正在设计,我正在创建一个引擎。在引擎中我需要来自主应用程序的current_user。我不确定如何得到它,我试过this link但无济于事。任何帮助都会很棒。如果不建议这样做,请解释原因。
答案 0 :(得分:2)
解决了
在引擎中,您可以使用' main_app'访问主应用。在此变量中,您可以访问当前用户,假设您已设计好。要访问devise current_user,您只需要
main_app.scope.env['warden'].user
Devise将用户存储在会话中的warden键中。因为它在内部使用warden来验证并在会话中存储细节。
如果有其他解决方案,请告诉我。
答案 1 :(得分:1)
如果您使用的是Rails 5.1+,那么这将是
main_app.scope.request.env['warden'].user
多数民众赞成因为env已被弃用。