instance method
implicit_persistence_transaction
Ruby on Rails edge
Since edge Private — implementation detail, not part of the public APISignature
implicit_persistence_transaction(connection, &block)
Method called to execute persistence method operations (save, destroy, touch), creating a transaction on the provided connection.
Override this method to customize transaction behavior, for example to set a specific isolation level.
The connection parameter provides access to the current database connection, allowing conditional logic based on connection state (e.g., whether a transaction is already open). The block parameter contains the persistence operation to be executed.
Example skipping transaction creation if one is already open:
class Account < ApplicationRecord
private
def implicit_persistence_transaction(connection, &block)
if connection.transaction_open?
yield
else
super
end
end
end
Parameters
-
connectionreq -
blockblock
Source
# File activerecord/lib/active_record/transactions.rb, line 594
def implicit_persistence_transaction(connection, &block)
connection.transaction(&block)
end
Defined in activerecord/lib/active_record/transactions.rb line 594
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Transactions