strange behaviour in ActiveRecord transaction

Hi, I'm using an ActiveRecord transaction in a Rails app, and one of the changes made during the transaction is reverted as the transaction finishes, whilst the other changes are preserved. The code is like:

it's Rails 2.3.2 on Windows (Vista).

Perhaps some validation fails on self. Try save! To raise an exception