我的User
模型包含以下内容:
validates :password_digest, :presence => true, :message => "The password has to be 6 or more characters long"
def password=(password)
self.password_digest = BCrypt::Password.create(password) if password.length >= 6
end
问题是message
invalidates
不起作用。我得到一个Unknown validator: 'MessageValidator'
错误。我假设验证的工作方式是presence
它只检查is ,它的长度小于 6。我想要一个优雅的解决方案,就像我尝试的那样。我已经以一种方式解决了这个问题,但我真的很感激理解为什么我正在尝试的东西不起作用,有没有办法让它起作用。password_digest
nil
password
我要做的是:
validate do |user|
user.errors['password'] = "can't be less than 6 characters" if user.password_digest.nil?
end