Tôi có một mô hình quản lý rất cơ bản:validates_confirmation_of: mật khẩu không được kích hoạt
class Admin < ActiveRecord::Base
has_secure_password
validates_uniqueness_of :email
attr_accessible :email, :password, :password_confirmation
end
According to the manualhas_secure_password
cũng cho biết thêm một validates_confirmation_of :password
. Nếu tôi chính xác, validates_confirmation_of
phải luôn luôn lỗi nếu :password
và :password_confirmation
không khớp - ngay cả khi :password_confirmation
là nil
.
Tôi đang thử nghiệm với RSpec và thử nghiệm này không thành công và nói với tôi rằng admin
là hợp lệ:
admin = Admin.new
admin.email = '[email protected]'
admin.password = 'secret'
admin.should be_invalid
một này đi:
admin = Admin.new
admin.email = '[email protected]'
admin.password = 'secret'
admin.password_confirmation = ''
admin.should be_invalid
Vì vậy, những gì heck tôi làm sai rồi?
Trong trường hợp đầu tiên, giá trị của 'admin.password_confirmation' là gì sau khi đặt mật khẩu thành' 'secret''? – Dogbert
'admin.password_confirmation' là' nil'. – Wukerplank