0

我正在阅读众所周知的 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
4

1 回答 1

3

您是否有可能在验证到位之前将该用户添加到数据库中?当我更改验证代码时,我经常需要清理我的测试数据库。

于 2013-08-21T21:19:35.687 回答