用户使用rails中的设计编辑密码时的密码唯一性

时间:2013-12-24 14:02:33

标签: devise ruby-on-rails-3.2

我正在为我的用户帐户使用devise gem。 更新密码时,用户不应输入相同的旧密码。 有没有办法使用设计认证?

1 个答案:

答案 0 :(得分:2)

您可以通过覆盖模型的update_with_password方法来完成此操作。

请参阅:https://github.com/plataformatec/devise/blob/master/lib/devise/models/database_authenticatable.rb#L61

所以,像......

class User << ActiveRecord::Base

  # TODO - Handle blank/missing fields, set error message, etc.
  def update_with_password(params, *options)
    return false if params[:password] == params[:current_password]
    super
  end

end