Доступ к устройству current_user внутри другого движка rails

Итак, вот моя проблема. У меня есть основное приложение, в котором есть разработка, для которой я создаю движок. В движке мне нужен current_user из основного приложения. Не уверен, как я это получу, я попробовал эту ссылку но безрезультатно. Любая помощь будет здорово. Если это не рекомендуется, пожалуйста, объясните, почему.


person abhilash    schedule 11.07.2016    source источник


Ответы (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