How do you handle say a one-many? Seems like the solution should be at the ActiveRecord::Base level . This is why I was changing the id system to uuid. That way rails could just update based on uuid.
On Wed, Jun 15, 2011 at 12:35 PM, Peter De Berdt <[email protected]>wrote: > > On 15 Jun 2011, at 18:25, Justin Stanczak wrote: > > Yes, I'm starting to learn this. When I say distributed, I mean I'm linking > applications with rabbitmq and ruby amqp. I then pass a message > that's serialized in json. The issue is normal integer id's between apps > will clash, so I was going to use uuid as the id instead.I'm guessing you > are saying make the uuid another field, and just update the object. So the > two applications would maintain their own id's, but match uuid's? Is there > not a method of doing this that already works. I know I'm not the first to > pass objects around. > > > That's exactly how we do it using Nanite. Nanite gives us a unique > identifier (some hash like yours), we store it in the database with the > record that will be affected, then search for that hash when the callback > fires with the processed data. Nothing too complicated there. At the end of > your callback function, you set the hash field to NULL so it no longer > occupies space. > > Something like this: > > report = Report.new > report.uid = Nanite.request('/report/generate', report[:json_data], > &NaniteCallbacks.report) > > def NaniteCallbacks.report > lambda do |res| > uid = res[res.keys.first] > > report.find_by_uid(uid).update_attributes!(res) > end > end > > That's the gist of it basically (it's a bit more complicated in our > application, but you get the point). > > > Best regards > > > Peter De Berdt > > -- > 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. > -- 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.

