我尝试使用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
的新东西,它可以满足我的要求,但这似乎不是正确而干净的方法。
答案 0 :(得分:0)
sign_in
方法中的
#不执行任何操作。用户已经登录,我们不强制执行。
所以我认为原因是因为如果我们已经以用户身份登录,则Devise不会登录新用户(除非我们强制执行此操作)。