我正在设计一个我希望以xml或json公开的rails rest API。在特定的操作中,我提交了一系列对象:
curl -d "<posts><post><title>my title</title></post><post><title>second post</title></post></posts>" localhost:3000/posts -X POST
我认为这会被翻译成
> params[:posts]
[{:title => "my title"}, {:title => "second post"}]
而不是我得到
{:post => [{:title => "my title"}, {:title => "second post"}]}
那么问题是我应该如何格式化我的xml,以便在params [:posts]中得到它?
[{:title => "my title"}, {:title => "second post"}]
我知道如何在功能测试中使用json而不是xml :(
答案 0 :(得分:1)
看起来curl中的XML以:
开头<posts></post>...
而不是:
<posts><post>...
编辑:
在Rails中将XML作为数组发布需要将type =“array”添加到数组节点。
<posts type="array"><post>...