我正在阅读众所周知的 Rails 教程,但遇到了一些我不理解的东西。
如果我尝试通过输入名称或密码太短的用户来违反我的验证例程,当我尝试user.save
在 rails 控制台中执行此操作时,我得到的错误是User Exists
.
为什么我会得到那个特定的错误,这当然不是正确的?我确实设置了唯一性验证,但这不是应该在此处触发的。
class User < ActiveRecord::Base
before_save { self.email = email.downcase }
validates :name, presence: true, length: { maximum: 50, minimum: 8 }
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
has_secure_password
validates :password, length: { minimum: 8 }
end