No, it doesn't mean that the combination is unique, it means that
:login and :email are going to be unique.

There are two possible reasons, the user was added manually at the
database (which is bad, as the database should have a unique index at
both columns) or you got into a racing condition, where the two
selects hit the database at the same time and thus both returned
false.

Best thing to do is to improve you database schema by creating some
unique indexes that reflect your validations.

-
Maurício Linhares
http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/ (en)



On Sat, Feb 28, 2009 at 5:49 PM, phil <[email protected]> wrote:
>
> I have the following in my user model:
>
>  validates_uniqueness_of   :login, :email, :case_sensitive => false
>
> yet somehow I ended up with two users with the same email. Does this
> line mean that the COMBINATION is unique (I didn't think it did).
>
> Should I have this instead:
>
>  validates_uniqueness_of   :login, :case_sensitive => false
>  validates_uniqueness_of   :email, :case_sensitive => false
>
> Any ideas?
> >
>

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