Во-первых, я надеюсь, что вы не сохраните свой пароль в виде простого текста !
А во-вторых, для вас будет работать пользовательская проверка:
validate :password_is_not_the_same
def password_is_not_the_same
errors.add(:password, 'Current password can\'t be the same as the password') if BCrypt::Password.new(password_digest) == password
end
Редактировать:
validate :password_is_not_the_same
def password_is_not_the_same
errors.add(:password, 'Current password can\'t be the same as the password') if current_password == password
end