Jest to bardzo rzadkie i prawdopodobnie masz pecha, że tak się stało, jest to możliwe.
Rozważ następujące kwestie:Użytkownik A przesyła formularz
- Użytkownik A przesyła formularz
- Rails sprawdza bazę danych pod kątem istniejącego identyfikatora dla użytkownika A – nie znaleziono
- Użytkownik B przesyła formularz
- Rails sprawdza bazę danych pod kątem istniejącego identyfikatora użytkownika B – nie znaleziono
- Rails zapisuje rekord użytkownika A
- Rails zapisuje rekord użytkownika B
Wszystko to musi nastąpić w ciągu milisekund, ale jest to technicznie możliwe.
Sugeruję dodanie ograniczenia na poziomie bazy danych (klucz podstawowy).