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.

Reply via email to