Updates the attributes on this particular ActiveRecord object so that if it is associated with a transaction, then the state of the AR object will be updated to reflect the current state of the transaction
The @transaction_state variable stores the states of the associated transaction. This relies on the fact that a transaction can only be in one rollback or commit (otherwise a list of states would be required) Each AR object inside of a transaction carries that transaction’s TransactionState.
Since ActiveRecord objects can be inside multiple transactions, this method recursively goes through the parent of the TransactionState and checks if the ActiveRecord object reflects the state of the object.
# File activerecord/lib/active_record/core.rb, line 509 def sync_with_transaction_state update_attributes_from_transaction_state(@transaction_state, 0) end