diff --git a/activerecord/lib/active_record/locking/optimistic.rb b/activerecord/lib/active_record/locking/optimistic.rb index 373f75e63b5f878f4a01c1ec05f1aa60eefa3e8d..147aa86c60cc1a7b6acb59c5decc94063e8a2511 100644 --- a/activerecord/lib/active_record/locking/optimistic.rb +++ b/activerecord/lib/active_record/locking/optimistic.rb @@ -128,6 +128,7 @@ def destroy_with_lock #:nodoc: end end + @destroyed = true freeze end diff --git a/activerecord/test/cases/locking_test.rb b/activerecord/test/cases/locking_test.rb index cdd6591fcadc9c9cdd62996974df9d54fba8bf0f..a2d9d924291d0e1eeb6e7697a90400d769c88094 100644 --- a/activerecord/test/cases/locking_test.rb +++ b/activerecord/test/cases/locking_test.rb @@ -53,7 +53,8 @@ def test_lock_destroy assert_raises(ActiveRecord::StaleObjectError) { p2.destroy } assert p1.destroy - assert_equal true, p1.frozen? + assert p1.frozen? + assert p1.destroyed? assert_raises(ActiveRecord::RecordNotFound) { Person.find(1) } end