Also hier ist mein Problem. Ich habe eine Hauptanwendung, die darin entwickelt hat, für die ich eine Maschine erstelle. In der Engine brauche ich den current_user von der Haupt-App. Nicht sicher, wie ich das bekommen werde, versuchte ich this link, aber ohne Erfolg. Jede Hilfe wäre großartig. Wenn dies nicht empfohlen wird, erklären Sie bitte warum.Zugriff auf das Gerät current_user in einem anderen Rails-Engine
4
A
Antwort
2
es Gelöst
Im Motor Sie die wichtigsten app 'main_app' zugreifen können. In dieser Variable haben Sie Zugriff auf den aktuellen Benutzer, vorausgesetzt, Sie haben ein Gerät. Um devise current_user Zugriff auf alles, was Sie tun müssen, ist
main_app.scope.env['warden'].user
Devise speichert der Benutzer innerhalb warden Schlüssel in der Sitzung. Da es Warden intern verwendet, um die Details in der Sitzung zu authentifizieren und zu speichern.
Wenn es eine alternative Lösung gibt, lassen Sie es mich bitte wissen.
1
Wenn Sie Rails verwenden 5.1+ würde dies
sein stattmain_app.scope.request.env['warden'].user
Das ist, weil env veraltet ist.