У меня есть следующий класс в приложении Rails 3.1.1:
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
Однако, когда я пытаюсь создать двух пользователей с дубликатомэлектронные письма или имена пользователей Я получаю исключение уровня БД, а не неудачную проверку:
ActiveRecord::RecordNotUnique in RegistrationsController#create
PGError: ERROR: duplicate key value violates unique constraint "index_users_on_username"
Существуют другие проверки, которые отлично работают, но почему проверки уникальности не выполняются до создания БД?