2
I가 레일 3.1.1 응용 프로그램에서 다음 클래스 :validates_uniqueness_of 전에 액티브 :: RecordNotUnique
class User < ActiveRecord::Base
attr_accessible :email, :password, :password_confirmation, :remember_me, :username, :admin, :moderator, :bio
validates_presence_of :username
validates_uniqueness_of :username, :case_sensitive => false
validates_uniqueness_of :email, :case_sensitive => false
내 마이그레이션에서 그러나
add_index :users, :email, :unique => true
add_index :users, :username, :unique => true
, 나는 두 명의 사용자를 만들려고 이메일 또는 사용자 이름이 중복되었습니다. 인증 실패가 아닌 DB 수준 예외가 발생합니다.
ActiveRecord::RecordNotUnique in RegistrationsController#create
PGError: ERROR: duplicate key value violates unique constraint "index_users_on_username"
완벽하게 작동하는 다른 유효성 검사가 있지만 DB 작성 전에 고유성 유효성 검사가 수행되지 않는 이유는 무엇입니까? 이 같은
당신이 운이 문제를 다루는 있었나요? –