Как реализовать олицетворение в веселье (рельсы), используя претендента или собственные пользовательские методы - PullRequest
0 голосов
/ 01 июня 2019

Я хочу реализовать функцию олицетворения в spree (rails), где администратор может войти как другой пользователь.

Я пытался использовать камень претенциозности. Я думаю, что он (претендент) перезаписывает current_user, но в spree user поддерживается spree_current_user. Я попытался настроить использование драгоценного камня, используя приведенный ниже код.

impersonates :user

Пробовал оба кода.

impersonates :spree_user,
             method: :spree_current_user,
             with: ->(id) { User.find_by(id: id) }

Первый код запускается без ошибок, но не меняет пользователя. (Поскольку он перезаписывает current_user, но spree использует spree_current_user)

Второй код выдает эту ошибку: «spree_current_user должен быть определен до метода олицетворения».

...