Removed documentation for the removed rollback! method on transactions and mention ActiveRecord::Rollback [cody]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8240 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Tobias Lütke 2007-11-29 22:25:42 +00:00
parent 1d32cec17d
commit a25b2e116c
1 changed files with 2 additions and 12 deletions

View File

@ -30,17 +30,6 @@ module ActiveRecord
# Exceptions will force a ROLLBACK that returns the database to the state before the transaction was begun. Be aware, though, # Exceptions will force a ROLLBACK that returns the database to the state before the transaction was begun. Be aware, though,
# that the objects by default will _not_ have their instance data returned to their pre-transactional state. # that the objects by default will _not_ have their instance data returned to their pre-transactional state.
# #
# == Rolling back a transaction manually
#
# Instead of relying on exceptions to rollback your transactions, you can also do so manually from within the scope
# of the transaction by accepting a yield parameter and calling rollback! on it. Example:
#
# transaction do |transaction|
# david.withdrawal(100)
# mary.deposit(100)
# transaction.rollback! # rolls back the transaction that was otherwise going to be successful
# end
#
# == Different ActiveRecord classes in a single transaction # == Different ActiveRecord classes in a single transaction
# #
# Though the transaction class method is called on some ActiveRecord class, # Though the transaction class method is called on some ActiveRecord class,
@ -80,7 +69,8 @@ module ActiveRecord
# == Exception handling # == Exception handling
# #
# Also have in mind that exceptions thrown within a transaction block will be propagated (after triggering the ROLLBACK), so you # Also have in mind that exceptions thrown within a transaction block will be propagated (after triggering the ROLLBACK), so you
# should be ready to catch those in your application code. # should be ready to catch those in your application code. One exception is the ActiveRecord::Rollback exception, which will
# trigger a ROLLBACK when raised, but not be re-raised by the transaction block.
module ClassMethods module ClassMethods
def transaction(&block) def transaction(&block)
previous_handler = trap('TERM') { raise TransactionError, "Transaction aborted" } previous_handler = trap('TERM') { raise TransactionError, "Transaction aborted" }