Вам нужно настроить условия гонки. Классическим условием гонки в Интернете является пользователь, который дважды щелкает все :)

я есть объект ActiveRecord, корпорация, и единственный вызов в моем проекте для создания экземпляров этого объекта выглядит следующим образом:

corp = Corporation.find_or_create_by_eveid_and_user_id(self.corporation_eveid, self.account.user_id)

Тем не менее, каким-то образом, после того, как мое приложение успешно работало в течение нескольких дней, появляются повторяющиеся записи - записи, в которых значения eveid и user_id имеют одинаковые значения. Как это возможно? Есть ли что-то, что я могу делать неправильно, когда я обновляю эти записи, что может вызвать эту проблему?

В итоге я добавил уникальный составной индекс в таблицу. Это должно решить проблему, но я не понимаю, как это происходит.

Это Rails 3.0.7.

Ответы на вопрос(2)

Ваш ответ на вопрос