multipart-post icon indicating copy to clipboard operation
multipart-post copied to clipboard

Does this support nested params?

Open prathamesh-sonpatki opened this issue 11 years ago • 3 comments

I want to send some nested params with the file. Is it not getting send properly.

For example

     sub_params = { contact: { 'first_name' => 'prathamesh', 'language' => 'Ruby' } }
     params     = sub_params.merge({ "file" => UploadIO.new(csv, "text/csv", "test.csv") })
     request    = Net::HTTP::Post::Multipart.new(url.path, params)     

On Rails side, i get

Parameters: {"contact"=>"{\"first_name\"=>\"prathamesh\", \"language\"=>\"Ruby\"}", "file"=>#<ActionDispatch::Http::UploadedFile:0x0000000628cea8 ....}

Nested attributes first_name and language are delimited. But they should be not.

Right now, parts are created assuming that value is String. So it is failing here where value is Hash like in case of nested hash.

prathamesh-sonpatki avatar Mar 22 '13 13:03 prathamesh-sonpatki

I would like this to be implemented too, but you could do something like this:

     sub_params = { :'contact[first_name]' => 'prathamesh', :'contact[language]' => 'Ruby' }
     params     = sub_params.merge({ "file" => UploadIO.new(csv, "text/csv", "test.csv") })
     request    = Net::HTTP::Post::Multipart.new(url.path, params)

to get the desired params in Rails.

nicosantangelo avatar May 24 '13 01:05 nicosantangelo

@NicoSantangelo / @prathamesh-sonpatki , if you just continue the work I did i my pull request (https://github.com/nicksieger/multipart-post/pull/30) I think you can solve this pretty easy :-)

gernberg avatar Jul 11 '13 16:07 gernberg

It would be good to support this. PR welcome.

ioquatix avatar May 03 '17 00:05 ioquatix