我正在尝试按照此处的提示进行操作 - Rails 3 / Devise: Password salt no longer being created?
但它都不起作用 - valid_password?
和password_digest
。 password_digest
获取受保护的方法,valid_password?
返回空。
当我的用户更改密码时,我让他们输入旧密码,如果这与数据库中的加密密码匹配,那么我将更新用户密码。
答案 0 :(得分:0)
让用户输入原始密码,只需将:current_password添加到params,然后使用@ user.update_with_password(params [:user])更新当前密码的验证。
<div class="field">
<%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
<%= f.password_field :current_password %>
</div>