Hi Collin, I did something similar to my copy of dm-ana. Did the trick
for my project.

George

On Apr 19, 8:11 pm, Collin Miller <[email protected]> wrote:
> This is quite a bone-saw solution, but I was able to get this working
> as expected with this change:
>
> http://github.com/collin/dm-accepts_nested_attributes/commit/923baa9c...
>
> On Mar 17, 5:28 am, George <[email protected]> wrote:
>
>
>
> > Thx for the info snusnu!
>
> > On Mar 16, 10:54 pm, Martin Gamsjaeger <[email protected]> wrote:
>
> > > George,
>
> > > I need to revisit dana (dm-accepts_nested_attributes) soon anyway,
> > > because I want to make it so that it *just works* with rails (I'm in
> > > the process of switching a larger app to rails3). I gotta admit that I
> > > haven't tried to run the specs in a while. In the meantime, I
> > > encourage you to dive into the code and see what's going on and where.
> > > It's really not complicated imho, and it could provide insight into
> > > why it's behaving the way it does.
>
> > > Sorry I got no more specific advice atm, but I can promise that I will
> > > do what needs to be done to have it compatible/usable with latest dm
> > > codes, soon.
>
> > > cheers
> > > snusnu
>
> > > On Tue, Mar 16, 2010 at 23:17, George <[email protected]> 
> > > wrote:
> > > > BTW As snusnu suggested I also tried calling @trip.attributes(trip)
> > > > followed by @trip.save (in the controller's create action), but the
> > > > call to attributes() triggered the same old dirty resource error as
> > > > the update method.
>
> > > > There is no code that modifies the object before calling save or
> > > > update. It just receives fields submitted from a form.
>
> > > > Is there a correct way to use the nested_attributes plugin? If DM is
> > > > *meant* to raise the dirty resource error then how do you work around
> > > > it or fix it in order to make the plugin usable?
>
> > > > Many thanks
> > > > George
>
> > > > On Mar 15, 12:04 pm, George <[email protected]> wrote:
> > > >> Thanks snusnu.
>
> > > >> Interestingly, nothing is modifying the attributes before save or
> > > >> update.
>
> > > >> When the submitted form contains associated fields such as
> > > >> trip[trip_clients_attributes][0][is_invoicable] then we get the dirty
> > > >> resource error.
>
> > > >> Here's an example of submitted params:
>
> > > >> merb : worker (port 81) ~ Params: {"_method"=>"put",
> > > >> "trip"=>{"version_of_trip_id"=>"94154", "name"=>"A lovely new trip2",
> > > >> "start_date"=>"03/10/2010", "user_id"=>"99", "adults"=>"1",
> > > >> "end_date"=>"03/10/2010", "company_id"=>"1", "children"=>"0",
> > > >> "type_id"=>"1", "infants"=>"0",
> > > >> "trip_clients_attributes"=>{"0"=>{"id"=>"54198", "is_single"=>"0",
> > > >> "is_primary"=>"1", "is_invoicable"=>"1"}, "1"=>{"id"=>"54215",
> > > >> "is_single"=>"1", "is_primary"=>"0", "is_invoicable"=>"1"}}},
> > > >> "client_id"=>"2138471587", "group_id"=>"4", "submit"=>"Save changes",
> > > >> "controller"=>"trips", "action"=>"update", "id"=>"94154",
> > > >> "format"=>nil}
>
> > > >> Controller action:
>
> > > >>   def update(id, trip)
> > > >>     @trip = Trip.get(id)
> > > >>     raise NotFound unless @trip
> > > >>     if @trip.update(trip)
> > > >>   ...
>
> > > >> On Mar 13, 1:21 am, Martin Gamsjaeger <[email protected]> wrote:
>
> > > >> > George,
>
> > > >> > Calling #update on a dirty resource indeed raises an error and that 
> > > >> > is
> > > >> > the expected dm behavior (it's got nothing to do with my plugin). If
> > > >> > you find yourself updating the attributes of a resource in different
> > > >> > places before persisting it, you should use #save instead of #update.
> > > >> > This is probably confusing to some people, because #update only
> > > >> > started to raise that error with recent versions of dm. I'm not sure
> > > >> > if it was introduced in 0.10.1 or 0.10.2, but iirc, it wasn't present
> > > >> > in 0.10.0 and definitely not in 0.9.x.
>
> > > >> > cheers
> > > >> > snusnu
>
> > > >> > On Fri, Mar 12, 2010 at 16:43, George 
> > > >> > <[email protected]> wrote:
> > > >> > > Am using snusnu's excellent "dm-accepts_nested_attributes" plugin 
> > > >> > > but
> > > >> > > getting an error when submitting a form to update a "Trip" object:
>
> > > >> > >  "Update Conflict Error 500 TripClient#update cannot be called on a
> > > >> > > dirty resource"
>
> > > >> > > trips are related to clients through trip_clients
> > > >> > > and the Trip model accepts_nested_attributes_for :trip_clients
> > > >> > > (to allow a couple of extra fields to be set on each association, 
> > > >> > > such
> > > >> > > as 'is_invoicable')
>
> > > >> > > It saves fine if I only save changes to fields in trip_clients, but
> > > >> > > the error crops up if I also submit changes to the trip object at 
> > > >> > > the
> > > >> > > same time.
>
> > > >> > > Any ideas why?
>
> > > >> > > Many thanks,
> > > >> > > George
>
> > > >> > > --
> > > >> > > You received this message because you are subscribed to the Google 
> > > >> > > Groups "DataMapper" 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 
> > > >> > > athttp://groups.google.com/group/datamapper?hl=en.
>
> > > > --
> > > > You received this message because you are subscribed to the Google 
> > > > Groups "DataMapper" 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 
> > > > athttp://groups.google.com/group/datamapper?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "DataMapper" 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 
> athttp://groups.google.com/group/datamapper?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"DataMapper" 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/datamapper?hl=en.

Reply via email to