@@ -393,18 +393,19 @@ def rolledback!(force_restore_state: false, should_run_callbacks: true) # :nodoc
393
393
# This method is available within the context of an ActiveRecord::Base
394
394
# instance.
395
395
def with_transaction_returning_status
396
- status = nil
397
- connection = self . class . lease_connection
398
- ensure_finalize = !connection . transaction_open?
396
+ self . class . with_connection do | connection |
397
+ status = nil
398
+ ensure_finalize = !connection . transaction_open?
399
399
400
- connection . transaction do
401
- add_to_transaction ( ensure_finalize || has_transactional_callbacks? )
402
- remember_transaction_record_state
400
+ connection . transaction do
401
+ add_to_transaction ( ensure_finalize || has_transactional_callbacks? )
402
+ remember_transaction_record_state
403
403
404
- status = yield
405
- raise ActiveRecord ::Rollback unless status
404
+ status = yield
405
+ raise ActiveRecord ::Rollback unless status
406
+ end
407
+ status
406
408
end
407
- status
408
409
end
409
410
410
411
def trigger_transactional_callbacks? # :nodoc:
@@ -496,7 +497,9 @@ def transaction_include_any_action?(actions)
496
497
# Add the record to the current transaction so that the #after_rollback and #after_commit
497
498
# callbacks can be called.
498
499
def add_to_transaction ( ensure_finalize = true )
499
- self . class . lease_connection . add_transaction_record ( self , ensure_finalize )
500
+ self . class . with_connection do |connection |
501
+ connection . add_transaction_record ( self , ensure_finalize )
502
+ end
500
503
end
501
504
502
505
def has_transactional_callbacks?
0 commit comments