# Transaction not working with update\_attributes!

**URL:** <https://www.ruby-forum.com/t/transaction-not-working-with-update-attributes/146917>\
**Category:** Rails\
**Created:** [August 26, 2008, 7:26pm UTC](https://www.ruby-forum.com/t/transaction-not-working-with-update-attributes/146917 "2008-08-26T19:26:37Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jjburka](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b38774/32.png) [@jjburka](https://www.ruby-forum.com/u/jjburka)\
**Post date:** [August 26, 2008, 7:26pm UTC](https://www.ruby-forum.com/t/transaction-not-working-with-update-attributes/146917/1 "2008-08-26T19:26:37Z")

</div>

I am trying to wrap the updating of two models in a transaction and  
when the transaction fails it is not rolling back.

My method is :

def update\_attributes(user,params)  
@user = user  
@company = user.company  
begin  
User.transaction do  
@user.update\_attributes!(params[:user])  
@company.update\_attributes!(params[:company])  
end  
true  
rescue  
false  
end

end

In the above method , if @user fails @company will not be saved but  
not vice versa. My question is am I using transactions correctly and  
if so what am I doing wrong?

thanks  
James

---

<div class="post-metadata">

**Author:** ![jjburka](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b38774/32.png) [@jjburka](https://www.ruby-forum.com/u/jjburka)\
**Post date:** [August 26, 2008, 10:31pm UTC](https://www.ruby-forum.com/t/transaction-not-working-with-update-attributes/146917/2 "2008-08-26T22:31:52Z")

</div>

On Aug 26, 6:26 pm, jjburka [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I am trying to wrap the updating of two models in a transaction and  
> when the transaction fails it is not rolling back.

Does activerecord try to do a rollback (check the logs) ? Are you  
using a database that supports transaction (ie not mysql with myisam  
tables)?

Fred
