Hi Justin
I''m interested in this as well. I discovered today that a project
I''m
developing threw several StaleObject errors, after I got a report of
discrepancies in views of the data.
Aside...
I did not even bother writing code to catch the error, eventhough I
went to the trouble to add lock_version fields to all my tables. (I
even wrote a nice little piece of code that reads the schema and
creates lock_versions for all my tables. Got carried away I guess :^)
...Back.
I''m wondering how the data got stale. I''m certain the customer
was the
only person updating the rows. However, I have a piece of code that
could be better written...
In the loop below, packing_item belongs_to rma and I do a separate
save on each table record. The error occurred on the second save. Can
this happen if only one person is running the application?
packing_slip.packing_items.each_with_index do |item, i|
item.rma.state_id = PACKED
item.rma.packing_slip_id = packing_slip.id
item.rma.tracking_number = tracking[item.rma.number]
[:tracking_number]
item.tracking_number = tracking[item.rma.number]
[:tracking_number]
# save packing_item
item.save!
# save rma <-- the error happened at this point.
item.rma.save!
end
Dave
On Mar 13, 2:00 pm, "Justin Williams"
<carpea...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:> Does anyone have an example of how they have dealt with
> StaleObjectErrors caused by having optimistic locking enabled?
>
> Ideally I''d like to merge the changes, but I haven''t
found much in
> terms of sample code or documentation on how to do this.
>
> Any help would be appreciated.
>
> Thanks.
>
> - j
--~--~---------~--~----~------------~-------~--~----~
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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---