如何使用Devise更新密码后让用户登录?

时间:2015-05-23 21:56:09

标签: ruby-on-rails devise

每当用户更新其密码时,它都会向用户签名并要求他们再次登录。这是我的行动

users_controller.rb
  def update
    @user = User.find(params[:id])
    if @user.update user_params
      sign_in @user, bypass: true # for some reason Devise signs the user out
      redirect_to @user

http://www.rubydoc.info/github/plataformatec/devise/Devise/Controllers/SignInOut#sign_in-instance_method

我也尝试了sign_in @user,但这不起作用。我在没有sign_in的情况下尝试过,但这也没有用。我看到了这个答案,但没有帮助:Devise is logging out users after a password change。没有密码更新用户正常工作。 (有些代码没有显示。)

设计3.4.1。

1 个答案:

答案 0 :(得分:5)

我不得不添加'范围'。这很有用。

sign_in :user, @user, bypass: true # for some reason Devise signs the user out

请在此处查看答案:https://stackoverflow.com/a/11589286/148844