transaction(start_db_transaction = true)
public

Wrap a block in a transaction. Returns result of block.

2Notes

Information on 'ModelName.transaction'

george · Sep 11, 20084 thanks

If you are looking for information about:

ModelName.transaction do
...
end

or

transaction do
...
end

see ActiveRecord::Transactions::ClassMethods

Rollback

wiseleyb · Jan 3, 20111 thank

To rollback the transaction...

transaction do
unless user.save && company.save
   raise raise ActiveRecord::Rollback
end
end

Or - catch anonymous exceptions, roll back and re-throw error

transaction do
user.save
company.save
x = 1/0
rescue
exp = $!
begin
  raise ActiveRecord::Rollback
rescue
end
raise exp
end