Transaction doesn't work

Here is peace of code:

User.transaction do
   User.destroy_all "id = #{params[:id]}"
   @user.update_attributes!(params[:user])
   raise
end

User class objects are removed from DB, and @user object attributes
are updating, despite of Exception in the transaction block :((

How can I rollback transaction if Exception throw in transaction
block ?

Thanks,
bioform