楽観的ロックシリーズの三回目です。
レコード削除時は ActiveRecord::StaleObjectError は発生するのか?
します。Ruby on Railsには削除時にActiveRecord::StaleObjectError
が発生することを確認するテストケースがあります。
def test_lock_destroy p1 = Person.find(1) p2 = Person.find(1) assert_equal 0, p1.lock_version assert_equal 0, p2.lock_version p1.first_name = "stu" p1.save! assert_equal 1, p1.lock_version assert_equal 0, p2.lock_version assert_raises(ActiveRecord::StaleObjectError) { p2.destroy } assert p1.destroy assert_predicate p1, :frozen? assert_predicate p1, :destroyed? assert_raises(ActiveRecord::RecordNotFound) { Person.find(1) } end
これをWebアプリケーションにどう組み込めばいいのでしょうか?