Почему эффект от разработки метода sign_in не является немедленным? - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь войти как другой пользователь, используя sign_in(user)

(byebug) user = User.find(2)
# return me the record of user with ID=2
(byebug) current_user.id
1
(byebug) sign_in(user)
# return me the record of user with ID=2
(byebug) current_user.id
1 # I expect this to be 2!!

Может кто-нибудь объяснить, почему?

Примечание: странно, я нашел новую вещь под названием session["warden.user.user.key"].first.first, которая делаетчто я хочу, но это не похоже на правильный и чистый способ сделать.

1 Ответ

0 голосов
/ 12 августа 2019

Разработка строки исходного кода 50 , которая находится внутри метода sign_in, гласит:

# Ничего не делать.Пользователь уже вошел в систему, и мы не принуждаем его.

, поэтому я думаю, что причина в том, что Devise не регистрирует нового пользователя, если мы уже вошли в систему как пользователь (если мы не форсируем это).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...