>> I could actually see an usefulness to the current 
>> (non-instance-rollback) mechanism:
>>
>> If the transaction fails, your code can look at various instances and 
>> see which ones worked (the instance is the same as what you attempted 
>> to set it to) and thus at which point exactly it failed (the instance 
>> never got set).
>
> Didn't David say that you can still do it the old way by just not 
> passing parameters?  So your problem is already solved.

Right. If you don't want to bother with the objects transactions, just 
don't pass any paramenters to the transaction method. This can also be 
used to be selective on what objects you want to play transactions on. 
It's not an all or nothing choice.
--
David Heinemeier Hansson,
http://www.instiki.org/      -- A No-Step-Three Wiki in Ruby
http://www.basecamphq.com/   -- Web-based Project Management
http://www.loudthinking.com/ -- Broadcasting Brain
http://www.nextangle.com/    -- Development & Consulting Services