我有一个非常基本的管理模式:validates_confirmation_of:密码不被触发
class Admin < ActiveRecord::Base
has_secure_password
validates_uniqueness_of :email
attr_accessible :email, :password, :password_confirmation
end
According to the manualhas_secure_password
还增加了一个validates_confirmation_of :password
。如果我是正确的validates_confirmation_of
应该总是错误,如果:password
和:password_confirmation
不匹配 - 即使:password_confirmation
是nil
。
我与RSpec的测试和测试失败,并告诉我,admin
是有效:
admin = Admin.new
admin.email = '[email protected]'
admin.password = 'secret'
admin.should be_invalid
这一个通行证:
admin = Admin.new
admin.email = '[email protected]'
admin.password = 'secret'
admin.password_confirmation = ''
admin.should be_invalid
那么,你到底我做错错误?
在第一种情况下,将密码设置为“秘密”后,“admin.password_confirmation”的值是多少? – Dogbert
'admin.password_confirmation'是'nil'。 – Wukerplank