使用curl模拟具有嵌套资源数组的表单帖子

时间:2011-02-14 19:16:41

标签: ruby-on-rails xml http rest curl

如何使用curl在使用application / x-www-form-urlencoded而不是application / xml的嵌套属性的表单上创建http帖子?

使用XML可以正常工作:

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>'

结果:

Parameters: {"action"=>"profile", "controller"=>"users", "user"=>{"name"=>"John Doe", "emails"=>{"email"=>[{"address"=>"jdoe@gmail.com"}, {"address"=>"jdoe@yahoo.com"}]}}}

但是,我试图在没有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"}}}}

1 个答案:

答案 0 :(得分:9)

请你试试以下内容:

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/

请注意[]

后面的[emails]