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

Ruby on rails 如何确保只更新特定属性,并强制Rails中的另一个属性为nil?,ruby-on-rails,railscasts,whitelist,update-attributes,Ruby On Rails,Railscasts,Whitelist,Update Attributes,在RailsCasts中,用户输入新密码,并提交给密码重置控制器 强制转换显示了将属性更新为以下内容的行: elsif @user.update_attributes(params[:user]) 对于Rails 4,我必须将其更改为: elsif @user.update_attributes(params.permit![:user]) 我只希望用户的password属性用用户输入的内容更新,并将password\u reset\u令牌设置为nil。我如何才能做到这一点,并确保只有这些字

在RailsCasts中,用户输入新密码,并提交给
密码重置控制器

强制转换显示了将属性更新为以下内容的行:

elsif @user.update_attributes(params[:user])
对于Rails 4,我必须将其更改为:

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

我只希望用户的
password
属性用用户输入的内容更新,并将
password\u reset\u令牌设置为
nil
。我如何才能做到这一点,并确保只有这些字段可以更新?

我想您需要这样的内容:

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