Rails "массив" в xml для параметров - PullRequest
1 голос
/ 24 марта 2011

Я разрабатываю API для отдыха на рельсах, который я хотел бы представить как xml или json.В конкретном действии я передаю коллекцию объектов, подобную этой:

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 Ответ

1 голос
/ 24 марта 2011

Похоже, что XML в вашем curl начинается с:

<posts></post>...

, а не:

<posts><post>...

Редактировать:

Для публикации XML как массива в Rails требуетсяtype = "array" для добавления в узел массива.

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