2
我有一個Rails 3.1.1應用中的以下類:validates_uniqueness_of之前的ActiveRecord :: 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之前創建正在執行的唯一性驗證?
你的運氣如何處理這一問題? –