1
我试图用password_confirmation以确认更新用户密码更改用户密码。与密码确认
但是,我无法找到一个方法来正确地更新自己的密码,我设置的密码与password=
和password_confirmation=
但是当我看changed?
结果,它总是返回false。
如何解决这个问题的任何建议?这里是我的代码(change_password被称为控制器,则params正确传递我看过他们与打印):
class User < ActiveRecord::Base
acts_as_authentic
belongs_to :organization
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :organization_id, :note, :role
validates :email, :uniqueness => true
validates :role, :inclusion => { :in => Rails.configuration.available_roles }
def change_password!(pswd)
password = pswd
password_confirmation = pswd
return changed? && save
end
def change_password(old_pswd, pswd, confirm_pswd)
return false, 'Old password is incorrect' if !valid_password?(old_pswd, true)
password = pswd
password_confirmation = confirm_pswd
# update_attributes([user: [password: pswd, password_confirmation: confirm_pswd]])
print "--------- #{old_pswd} #{pswd} #{confirm_pswd} #{changed?.to_s} ------------"
return changed? && save, 'New and confirm password are not correcty'
end
end
哦**真的**?!?!这真是奇怪,我不知道这样的事情,但是非常感谢! –