On 16 October 2011 11:27, Hesham <[email protected]> wrote:
>
>
> On Oct 16, 11:49 am, Colin Law <[email protected]> wrote:
>> On 16 October 2011 05:35, 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:
>>
>> If you look in the log can you see it doing the query to look for an
>> existing matching email or username?
>>
>> Colin
>
> No, there is no such query, just an insert of the record which is
> producing the exception.

Can you post the code that does the save?
Is the model code you have shown above copied/pasted here from the rb file?
It should not make any difference but have you tried removing the case
sensitive parameter?
What happens if you make new records and save from the rails console?

Colin

>
>>
>>
>>
>> > 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 
>> > athttp://groups.google.com/group/rubyonrails-talk?hl=en.
>>
>> --
>> gplus.to/clanlaw
>
> --
> 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.
>
>



-- 
gplus.to/clanlaw

-- 
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