To je velmi neobvyklé a pravděpodobně máte smůlu, že ano, je to možné.
Přečtěte si:https://github.com/rails/rails/blob/master/activerecord/lib/active_record/validations/uniqueness.rb#L165
Zvažte následující:Uživatel A odešle formulář
- Uživatel A odešle formulář
- Rails zkontroluje databázi pro existující ID pro uživatele A – nebylo nalezeno
- Uživatel B odešle formulář
- Rails zkontroluje databázi stávajícího ID pro uživatele B – nebylo nalezeno
- Rails Uloží záznam uživatele A
- Rails ukládá záznam uživatele B
To vše se musí stát během milisekund, ale je to technicky možné.
Navrhoval bych přidat omezení na úrovni databáze (primární klíč).