设计用户#skip_confirmation_notification!不行

时间:2016-10-27 03:03:31

标签: ruby-on-rails ruby devise

我想在此链接后更改用户密码:Allow-users-to-edit-their-password。我已将skip_confirmation_notification添加到user以避免确认电子邮件,但它不起作用。 这是我的代码:

def update_password
    @user = User.find(params[:id])
    @user.skip_confirmation_notification!
    if @user.update(user_password_params)
      flash.notice = 'Password was successfully updated.'
    else
      flash.alert = @user.errors.full_messages.join('<br/>')
    end
    render "show_update_password"
end

private

def user_password_params
    params.require(:user).permit(:password, :password_confirmation)
end

1 个答案:

答案 0 :(得分:1)

对于更新,您可以坚持使用update_attributes,或只使用普通保存和skip_reconfirmation!(请注意重新确认中的重新提示)。

def update_password
  @user = User.find(params[:id])
  @user.skip_reconfirmation!
  if @user.update(user_password_params)
     flash.notice = 'Password was successfully updated.'
  else
     flash.alert = @user.errror.full_messages.join('<br/>')
  end
  render "show_update_password"
end

点击此处查看设备文档Doc