我在用户模型中使用has_secure_password。注册时我会给出密码和密码确认字段。
我手动添加了验证,以检查我的用户模型中的密码和确认是否匹配。
has_secure_password
validates :password, presence:true, length: {minimum:6}
validate :pass_valid
def pass_valid
errors.add(:base,"password and confirmation do not match") if password!=password_confirmation
end
我的表单看起来像这样
= f.label :'Password'
= f.password_field :password
= f.label :'Password Confirmation'
= f.password_field :password_confirmation
即使输入与密码不同的密码确认,表单也会出错。我认为has_secure_password验证密码和确认是否匹配,我删除了pass_valid方法。现在即使密码和确认不匹配,也会创建用户。
有人可以帮帮我吗?
P.S:我在我的gemfile中使用了protected-attributes。因此,在用户模型中为attr_accessible添加了密码和password_confirmation。
答案 0 :(得分:0)
尝试使用validates_with :yourValidator
,在这种情况下为pass_valid。