Transaction question


#1

How does one set up a transaction for multiple models? For example, how
do you wrap the entire logic below in one transaction?

#begin transaction
for bar in foo.bars
bar.something += 1
bar.save
end

foo.something += 1
foo.save
#end transaction

For even more complexity, what if a mail notification is sent for each
bar modified in the collection?

thanks,
Jeff


#2

Can you do:

Bar.transaction
foo.bars.each do |bar|
bar.something += 1
bar.save
end
end

-Jonny.


#3

Yes, you can.


– Tom M.


#4

I want the change to foo wrapped in the same transaction. I don’t think
you can stick that in Bar.transaction?

-Jeff


#5

Hi Tom,

How do you do it ? Jonny's example seems vague... I need both model 

to be save!

Thanks.

Tom M. wrote:

Yes, you can.


– Tom M.