From: Robert Klemme Date: 2005-11-15T21:02:18+09:00 Subject: Re: Database Transactions Andreas Schwarz wrote: > listrecv wrote: >> ActiveRecord's standard procedure for transactions is to send a >> block, and throw an exception to roll it back ( >> http://api.rubyonrails.com/classes/ActiveRecord/Transactions/ClassMethods.html >> ). I found this rather uncomfortable. I'd like to be able to begin >> transactions, commit them, or roll them back from within (fairly) >> complex control structures - and having to do everything within a >> block, with one way out, is no good. > > You can start/commit/rollback transactions manually > (ActiveRecord::Base.connection.start_transaction, IIRC). Though I > don't see why using a block should be a problem for your control > structure. +1 Using the block is definitely superior and less error prone. Hint: you can call methods from the block. :-) Kind regards robert