Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用curl查询restful rails应用程序?_Ruby On Rails_Xml_Http_Curl_Rest - Fatal编程技术网

Ruby on rails 如何使用curl查询restful rails应用程序?

Ruby on rails 如何使用curl查询restful rails应用程序?,ruby-on-rails,xml,http,curl,rest,Ruby On Rails,Xml,Http,Curl,Rest,这是我的问题。。 资源:用户 方法:创建 我这样称呼卷曲: curl -X POST -H 'Content-type: text/xml' -d '<xml><login>john</login><password>123456</password></xml>' http://0.0.0.0:3000/users {"xml"=> {"login"=>"luca", "password"=>"1234

这是我的问题。。 资源:用户 方法:创建

我这样称呼卷曲:

curl -X POST -H 'Content-type: text/xml' -d '<xml><login>john</login><password>123456</password></xml>' http://0.0.0.0:3000/users
{"xml"=> {"login"=>"luca", "password"=>"123456"}}
{"login"=>"luca", "password"=>"123456"}
我希望它看起来像这样:

curl -X POST -H 'Content-type: text/xml' -d '<xml><login>john</login><password>123456</password></xml>' http://0.0.0.0:3000/users
{"xml"=> {"login"=>"luca", "password"=>"123456"}}
{"login"=>"luca", "password"=>"123456"}
如果我在url上传递参数(…?login=luca&pas…),我可以得到这样的结果,但这不好

有什么想法吗

curl -X POST -H 'Content-type: text/xml' -d '<login>john</login><password>123456</password>' http://0.0.0.0:3000/users
这将向您的模型传递登录名和密码

curl -X POST -d 'login=john&password=123456' http://0.0.0.0:3000/users

另请参见:

嘿,我也有这个问题很久了。我发现你可以做到这一点-

在initializers目录中创建一个新的defaults.rb:yourapp/config/initializers/defaults.rb

ActiveRecord::Base.include_root_in_json = false

现在,您的json中应该没有根。

您不能添加2个节点。。您将看到:“尝试将第二个根元素添加到文档”是的,这就是我现在规避问题的方式,但我希望更好地理解它为什么不起作用。它不起作用,因为'john123456'不是一个格式良好的XML文档。根节点结束于。对于根节点和不朽节点,“只能有一个。”:)将xml字符串中的“xml”替换为“user”有帮助吗?没有。。我尝试了所有可能的变种。。xml用户请求参数post。。我不认为这是正确的方法。好的,关键是如果我想要真正的xml,我必须有一个根目录并读取我的控制器,否则我可以传递var=value&。。。语法。谢谢