I have a Production model, which represents a farmer's crop. After
create (via after_save) I call a method that creates one or more
Supply models, which represent a week of anticipated product harvest.
After each of those are created, a class method gets called that tries
to match each new Supply with outstanding orders for the same time
period. If a match is made, a transaction (an Exchange model acting as
the join record) is created and it adjusts the quantities in both the
Supply and Order models.

Well, it ain't working. I mean, it almost does, but after_save filter
seems to be calling methods during the transaction, not after the
commit. The  quantity updates on the Supply and Order models are
getting blown away. It seems I was mislead by the name of
"after_save".

before_save doesn't work because the id for the Production hasn't been
assigned and the relationships can't be set then.

First, are my observations about after_save and the transaction
correct? Second, is there another callback filter I should be using
instead, one that happens after the transaction? Or is my design
suspect? Recommendations welcome.

Thanks! :)

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to