У меня есть приложение, в котором клиент предоставит список предварительно сгенерированных кодов.Когда кто-то покупает лицензию, один из этих кодов будет обслуживаться.
Существует модель Product
, которая has_many :codes
, и модель Code
, которая belongs_to :product
.Модель кода имеет state
, который либо «назначен», либо «не назначен».
Как мне обеспечить, чтобы каждый код использовался только один раз, даже если несколько процессов пытаются его получить?В старые добрые времена я блокировал запись, а если не мог ее заблокировать, переходил к следующей, но я даже не уверен, что смогу сделать что-то подобное в Rails.