Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 通过密码确认更改用户密码_Ruby On Rails_Ruby On Rails 3.2_Authlogic - Fatal编程技术网

Ruby on rails 通过密码确认更改用户密码

Ruby on rails 通过密码确认更改用户密码,ruby-on-rails,ruby-on-rails-3.2,authlogic,Ruby On Rails,Ruby On Rails 3.2,Authlogic,我正在尝试使用password\u confirmation更新用户密码以进行确认 但是,我找不到正确更新密码的方法,我使用password=和password\u confirmation=设置密码,但当我查看更改?结果时,它总是返回false 对如何解决这个问题有什么建议吗?这是我的代码(在控制器中调用change_password,正确传递参数,我已经看到了打印): class用户true 验证:role,:inclusion=>{:in=>Rails.configuration.avai

我正在尝试使用password\u confirmation更新用户密码以进行确认

但是,我找不到正确更新密码的方法,我使用
password=
password\u confirmation=
设置密码,但当我查看
更改?
结果时,它总是返回false

对如何解决这个问题有什么建议吗?这是我的代码(在控制器中调用change_password,正确传递参数,我已经看到了打印):

class用户true
验证:role,:inclusion=>{:in=>Rails.configuration.available\u roles}
def更改密码!(pswd)
密码=pswd
密码\u确认=pswd
退货已更改?&&拯救
终止
def更改密码(旧密码、密码、确认密码)
返回false,“旧密码不正确”,如果!有效密码?(旧密码,真)
密码=pswd
密码\u确认=确认\u pswd
#更新\u属性([用户:[密码:pswd,密码\u确认:确认\u pswd]])
打印“------------{old_pswd}{pswd}{confirm_pswd}{changed?.to_s}------------”
退货已更改?&&保存,“新密码和确认密码不正确”
终止
终止

设置属性(实际上是“setter”助手方法)时,需要使用
self.
,否则ruby会认为您正在创建新的局部变量:

self.password = pswd
self.password_confirmation = pswd

设置属性(实际上是“setter”助手方法)时,需要使用
self.
,否则ruby会认为您正在创建新的局部变量:

self.password = pswd
self.password_confirmation = pswd
哦,真的吗?!?!真奇怪,我不知道这样的事,但非常感谢!哦,真的吗?!?!真奇怪,我不知道这样的事,但非常感谢!