У меня есть очень простая модель администратора:
class Admin < ActiveRecord::Base
has_secure_password
validates_uniqueness_of :email
attr_accessible :email, :password, :password_confirmation
end
В соответствии с руководством has_secure_password
также добавляет validates_confirmation_of :password
. Если я прав, validates_confirmation_of
всегда должен выдавать ошибку, если :password
и :password_confirmation
не совпадают - даже если :password_confirmation
равен nil
.
Я тестирую с помощью RSpec, и этот тест не проходит и сообщает мне, что admin
является действительным:
admin = Admin.new
admin.email = 'test@example.info'
admin.password = 'secret'
admin.should be_invalid
Этот проходит:
admin = Admin.new
admin.email = 'test@example.info'
admin.password = 'secret'
admin.password_confirmation = ''
admin.should be_invalid
Итак, какого чёрта я делаю не так?