Ruby on rails 使用curl模拟带有嵌套资源数组的表单帖子
如何使用curl在具有嵌套属性的表单上使用application/x-www-form-urlencoded而不是application/xml生成http post 使用XML,它可以正常工作:Ruby on rails 使用curl模拟带有嵌套资源数组的表单帖子,ruby-on-rails,xml,http,rest,curl,Ruby On Rails,Xml,Http,Rest,Curl,如何使用curl在具有嵌套属性的表单上使用application/x-www-form-urlencoded而不是application/xml生成http post 使用XML,它可以正常工作: curl -i -X 'POST' -H 'Content-Type: application/xml' http://localhost:3000 -d '<user><name>John Doe</name><emails><email>
curl -i -X 'POST' -H 'Content-Type: application/xml' http://localhost:3000 -d '<user><name>John Doe</name><emails><email><address>jdoe@gmail.com</address></email><email><address>jdoe@yahoo.com</address></email></emails></user>'
但是,我试图在没有xml的情况下实现同样的结果
我试着这样做:
curl -i -X POST -d 'user[name]=John Doe&user[emails][email][address]=jdoe@gmail.com&user[emails][email][address]=jdoe@yahoo.com' http://localhost:3000/
但它不起作用:
Parameters: {"user"=>{"name"=>"John Doe", "emails"=>{"email"=>{"address"=>"jdoe@yahoo.com"}}}}
请您尝试以下方法:
curl -i -X POST -d 'user[name]=John Doe&user[emails][][email][address]=jdoe@gmail.com&user[emails][][email][address]=jdoe@yahoo.com' http://localhost:3000/
请注意
[]
后面的[电子邮件]
几乎:参数:{“user”=>{“name”=>“John Doe”,“emails”=>[{“email”=>{“address”=>”jdoe@yahoo.com“}}]}}
数组部分可以工作,但只考虑最后一封电子邮件。嗯,这可以工作:<代码>curl-i-X POST-d'user[name]=johndoe和user[email][]=jdoe@gmail.com&用户[电子邮件][]=jdoe@yahoo.com' http://localhost:3000/谢谢你,迈克尔。在上次的评论中,您忘记了address属性。但在你的帮助下,我能算出:curl-I-X POST-d'user[name]=johndoe&user[email][email][[address]=jdoe@gmail.com&用户[电子邮件][电子邮件][]地址]=jdoe@yahoo.com' http://localhost:3000/
。[]
在[电子邮件]
curl -i -X POST -d 'user[name]=John Doe&user[emails][][email][address]=jdoe@gmail.com&user[emails][][email][address]=jdoe@yahoo.com' http://localhost:3000/