我将has_secure_password
用于User
模型。现在我尝试使用AJAX来更新一些用户的属性,包括密码。但是,与has_secure_password
一样,password
属性不再存在,替换为password_digest
。所以当我想要做的时候
user[:password] = "The password passed by AJAX"
user.save!
我得到了:
ActiveModel :: MissingAttributeError(无法写入未知属性
password
)
问题是:在这种情况下更新用户密码的正确方法是什么?我是否需要手动计算哈希并更新password_digest
?
编辑:
我正在使用Rails 4.2.1
答案 0 :(得分:0)
通常你只需使用:
user = User.find 1
user.password = 'Test123456789'
user.save
但是,听起来您没有在users表中添加password_digest列,或者没有运行迁移。