如何确保只更新特定的属性,并在Rails中强制另一个属性为nil



在RailsCasts第274集《记住我》中;重置密码",用户输入他们的新密码,并提交给PasswordResetsController

演员阵容显示了将属性更新为的行:

elsif @user.update_attributes(params[:user])

对于Rails4,我不得不将其更改为:

elsif @user.update_attributes(params.permit![:user])

我只想用用户输入的内容更新用户的password属性,并将password_reset_token设置为nil。我如何做到这一点,并确保只有这些字段可以更新?

我想你想要这样的东西:

elsif @user.update_attributes(
  params.require(:user).permit(:password, :password_confirmation).merge(password_reset_token: nil)
)

相关内容

  • 没有找到相关文章

最新更新