From 786713a3abc375fab4d5c2f6f62a878c2ab51022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Mendon=C3=A7a=20Fran=C3=A7a?= Date: Sat, 11 Aug 2012 19:08:16 -0700 Subject: Merge pull request #6073 from daveyeu/restore-state-on-record-invalid Restore state on create when ActiveRecord::RecordInvalid is raised Conflicts: activerecord/CHANGELOG.md --- activerecord/lib/active_record/transactions.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'activerecord/lib') diff --git a/activerecord/lib/active_record/transactions.rb b/activerecord/lib/active_record/transactions.rb index 8c93f50926..98569aa307 100644 --- a/activerecord/lib/active_record/transactions.rb +++ b/activerecord/lib/active_record/transactions.rb @@ -325,7 +325,7 @@ module ActiveRecord def restore_transaction_record_state(force = false) #:nodoc: if defined?(@_start_transaction_state) @_start_transaction_state[:level] = (@_start_transaction_state[:level] || 0) - 1 - if @_start_transaction_state[:level] < 1 + if @_start_transaction_state[:level] < 1 || force restore_state = remove_instance_variable(:@_start_transaction_state) was_frozen = @attributes.frozen? @attributes = @attributes.dup if was_frozen -- cgit v1.2.3