Итак, вот моя проблема. У меня есть основное приложение, в котором есть разработка, для которой я создаю движок. В движке мне нужен current_user из основного приложения. Не уверен, как я это получу, я попробовал эту ссылку а> но безрезультатно. Любая помощь будет здорово. Если это не рекомендуется, пожалуйста, объясните, почему.
Доступ к устройству current_user внутри другого движка rails
Ответы (2)
Решено
В движке вы можете получить доступ к основному приложению, используя «main_app». В этой переменной у вас есть доступ к текущему пользователю, если у вас есть devise. Чтобы получить доступ к devise current_user, все, что вам нужно сделать, это
main_app.scope.env['warden'].user
Devise хранит пользователя внутри ключа надзирателя в сеансе. Поскольку он использует надзиратель внутри себя для аутентификации и сохранения деталей в сеансе.
Если есть альтернативное решение, пожалуйста, дайте мне знать.
person
abhilash
schedule
14.07.2016
Если вы используете Rails 5.1+, вместо этого будет
main_app.scope.request.env['warden'].user
Это потому, что env устарела.
person
Vikram Bahl
schedule
24.08.2017