Vous pouvez également effectuer une transaction. Comme dans l'exemple ci-dessous :
transaction do
thing = Thing.find(1)
puts thing.foo # outputs "old value"
thing.foo = "new value"
thing.save
end
ThingProcessor.queue_job(thing.id)
Mise à jour :il existe une gemme qui s'appelle After Transaction, avec cela, vous pouvez résoudre votre problème. Voici le lien :http://xtargets.com/2012/03/08/understanding-and-resolution-race-conditions-with-ruby-rails-and-background-workers/