Ruby on Rails: уменьшение сложности параметров в запросе RESTFul HTTP POST (мультимодель) - PullRequest
0 голосов
/ 05 мая 2010

Я использую cURL для тестирования веб-службы RESTFul HTTP. Проблема в том, что я обычно отправляю несколько значений, как обычно:

curl -d "firstname=bob&lastname=smith&age=25&from=kansas&someothermodelattr=val" -H "Content-Type: application/x-www-form-urlencoded" http://mysite/people.xml -i

Проблема в том, что мой контроллер будет иметь такой код:

unless params[:firstname].nil?

end
unless params[:lastname].nil?

end
// FINALLY
@person = People.new(params[:firstname], params[:lastname], params[:age], params[:from])

и т. Д.

Как лучше всего это упростить? Моя модель Person имеет все необходимые проверки. Есть ли способ (при условии, что запрос имеет многомодельные параметры), который я могу просто сделать:

@ person = People.new (params [: person])

и тогда инициализатор может позаботиться обо всем остальном?

1 Ответ

0 голосов
/ 05 мая 2010

Извините, вопрос немного неясен. Вы спрашиваете, как вложить параметры в запрос? Это работает так:

curl -d "person[firstname]=bob&person[lastname]=smith&person[age]=25&person[from]=kansas&someothermodel[attr]=val" -H "Content-Type: application/x-www-form-urlencoded" http://mysite/people.xml -i

Тогда вы можете сделать

@person = People.new(params[:person])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...