aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/transactions.rb
diff options
context:
space:
mode:
authorMarcel Molina <marcel@vernix.org>2007-11-06 19:04:54 +0000
committerMarcel Molina <marcel@vernix.org>2007-11-06 19:04:54 +0000
commit4f59aacb6854885230801a7b694ea592677c3e3d (patch)
treec4b6aead803194c7eb0a0ac47e9edf409ac414a5 /activerecord/lib/active_record/transactions.rb
parent341afb6a81a569ae91bdf8c9e3982806423c7a67 (diff)
downloadrails-4f59aacb6854885230801a7b694ea592677c3e3d.tar.gz
rails-4f59aacb6854885230801a7b694ea592677c3e3d.tar.bz2
rails-4f59aacb6854885230801a7b694ea592677c3e3d.zip
Explain semantics of having several different AR instances in a transaction block. Closes #9036 [jacobat, Marcel Molina]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8096 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/lib/active_record/transactions.rb')
-rw-r--r--activerecord/lib/active_record/transactions.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/transactions.rb b/activerecord/lib/active_record/transactions.rb
index 534f179339..205d8c5e24 100644
--- a/activerecord/lib/active_record/transactions.rb
+++ b/activerecord/lib/active_record/transactions.rb
@@ -41,6 +41,19 @@ module ActiveRecord
# transaction.rollback! # rolls back the transaction that was otherwise going to be successful
# end
#
+ # == Different ActiveRecord classes in a single transaction
+ #
+ # Though the transaction class method is called on some ActiveRecord class,
+ # the objects within the transaction block need not all be instances of
+ # that class.
+ # In this example a <tt>Balance</tt> record is transactionally saved even
+ # though <tt>transaction</tt> is called on the <tt>Account</tt> class:
+ #
+ # Account.transaction do
+ # balance.save
+ # account.save
+ # end
+ #
# == Transactions are not distributed across database connections
#
# A transaction acts on a single database connection. If you have