Rails“数组”在xml中对params

时间:2011-03-24 18:54:54

标签: xml ruby-on-rails-3 rest params

我正在设计一个我希望以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 :(

1 个答案:

答案 0 :(得分:1)

看起来curl中的XML以:

开头
<posts></post>...

而不是:

<posts><post>...

编辑:

在Rails中将XML作为数组发布需要将type =“array”添加到数组节点。

<posts type="array"><post>...