railsでAttempted to update a stale object

Post date: 2011/06/23 12:59:16

optimistic lockを使っていて、私がよくやるお馬鹿なパターン

model_libraries.each_with_index{|model_lib, i|

model_lib.reload ーーー これを忘れるとおきる

unless model_lib.simulator == sim

model_lib.simulator = sim

model_lib.save! # convert models if necessary

end

model_librariesには別々のmodel_libが入っていると思い込んでいて、実は同じmodel_lib

だった場合、reloadを忘れるとsaveする前のmodel_libをまたsaveしようとしてoptimistic lockが