Accepts_nested_attributes_for and _destroy not working (but no error messages)

I have a has_many association and does some adding throug a nested
form, i can add objects (images) and edit text this works fine. But
when i try to delete items nothing happens. This is what my log looks
like:

Started POST “/photosets/168” for 127.0.0.1 at Fri Apr 15 07:34:04
+0200 2011
Processing by PhotosetsController#update as HTML
Parameters: {“commit”=>“Ändra Photoset”,
“authenticity_token”=>“18nwmbNhushmQoXOLafzzjodbCoCtQMu22MG772Y8Xg=”,
“utf8”=>“✓”, “photoset”=>{“title”=>“en ny titel”,
“photosetassets_attributes”=>{“6”=>{"_destroy"=>“false”},
“7”=>{"_destroy"=>“false”}, “8”=>{"_destroy"=>“false”},
“9”=>{"_destroy"=>“false”}, “0”=>{“id”=>“971”, “_destroy”=>“false”},
“1”=>{“id”=>“972”, “_destroy”=>“false”}, “2”=>{“id”=>“975”,
“_destroy”=>“false”}, “3”=>{“id”=>“976”, “_destroy”=>“1”},
“4”=>{"_destroy"=>“false”}, “5”=>{"_destroy"=>“false”}},
“credit_tokens”=>“1”, “description”=>“dsadsad”, “genre_ids”=>[“1”,
“2”, “3”]}, “id”=>“168”}

And it looks to me as “3”=>{“id”=>“976”, “_destroy”=>“1”} is marked
for _destroy here.

If i in the console write:
p = Photoset.last
f.update_attributes(“photosetassets_attributes” => {“id” => “976”,
“_destroy” => “1”})
p = Photoset.last.photosetassets

=> [#<Photosetasset id: 971, image: “20090818-img_0024.jpg”,
photoset_id: 168, created_at: “2011-04-15 05:02:26”, updated_at:
“2011-04-15 05:02:26”>, #<Photosetasset id: 972, image:
“arvidsson0161.jpg”, photoset_id: 168, created_at: “2011-04-15
05:02:26”, updated_at: “2011-04-15 05:02:26”>, #<Photosetasset id:
975, image: “2009_01_04_img_00000323.jpg”, photoset_id: 168,
created_at: “2011-04-15 05:23:38”, updated_at: “2011-04-15 05:23:38”>]

And its deleted.

Please advice me what to do, have been working on this for the last
nights and i cant see whats wrong with it.

/Niklas

Couple things you can try -

  1. Where you have _destroy=“false” replace that with _destroy=“0” -
    just in case something is throwing that parser out of whack
  2. Try _delete instead of _destroy - been a while but I remember in
    one of my setups _delete worked but not _destroy

-S

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs