Following links would help you in this http://railswarts.blogspot.com/2007/11/validatesuniquenessof-is-broken-and.html http://drawohara.com/post/18926188/rails-activerecord-validations-are-fatally-flawed
I would suggest you to use rails 3 validators instead of earlier 1. Thanks, Harun On Sun, Oct 16, 2011 at 12:35 AM, Hesham <[email protected]> wrote: > I have the following class in a Rails 3.1.1 app: > > 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 > and in my migrations: > > add_index :users, :email, :unique => true > add_index :users, :username, :unique => true > > However, when I try to create two users with duplicate emails or > usernames I get a DB level exception rather than a failing validation: > > ActiveRecord::RecordNotUnique in RegistrationsController#create > PGError: ERROR: duplicate key value violates unique constraint > "index_users_on_username" > > There are other validations that work perfectly, but why aren't the > uniqueness validations being performed before the DB create? > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > > -- Thanks, Harun -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

