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 に答える