我有一个非常基本的管理员模型:
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
那么,我到底做错了什么?