0

我用于has_secure_password模型User。现在我正在尝试使用 AJAX 来更新一些用户的属性,包括密码。但是,看起来 with has_secure_password,该password属性不再存在,由 代替password_digest。所以当我想做的时候

user[:password] = "The password passed by AJAX"
user.save!

我有:

ActiveModel::MissingAttributeError(无法写入未知属性 password

问题是:在这种情况下更新用户密码的正确方法是什么?我是否需要手动计算哈希并更新password_digest

编辑:

我正在使用 Rails 4.2.1

4

1 回答 1

0

通常你只需使用:

user = User.find 1
user.password = 'Test123456789'
user.save

但是,听起来您还没有在 users 表中添加 password_digest 列或者没有运行迁移。

于 2015-12-28T08:00:28.017 回答