Веб-сервисы Ruby on rails с запросом POST - PullRequest
1 голос
/ 29 ноября 2010

Я только начал изучать Ruby на рельсах, и мне интересно, как сделать что-то, что я знаю, как легко сделать в PHP. Я хочу создать несколько основных веб-сервисов, которые можно вызывать с параметрами POST, и отправлять JSON в качестве ответа. Я вообще не знаю, как начать с этого, используя Ruby на рельсах.

Я уверен, что есть лучшие практики, чтобы делать такие вещи, так что, если вы, ребята, могли бы посоветовать мне что-нибудь, было бы здорово!

С уважением,

Ответы [ 3 ]

1 голос
/ 29 ноября 2010

Звучит как хорошая подгонка для Синатры.Проверить http://www.sinatrarb.com/

1 голос
/ 29 ноября 2010

Чтобы получить параметры POST, вы просто смотрите на хэш параметров в вашем контроллере, который будет иметь все параметры для запроса, будь то параметры POST, GET или часть маршрута (например / users /: id / new => params [: id] в контроллере)

Чтобы вернуть json из запроса, вы просто сделаете вызов рендеринга следующим образом:

render :json => @model

Кроме того, ваш вопрос является немного более широким для объема ответа на SO.Я рекомендую прочитать Agile Web Development с Rails в качестве отправной точки для изучения разработки на Rails.

0 голосов
/ 29 ноября 2010

Отличительной особенностью rails является то, что он основан на принципе REST.

Всякий раз, когда вы создаете ресурс RESTful, вы фактически создаете веб-сервис одновременно.

Например.Допустим, вы создаете ресурс с помощью генератора скаффолдов.

rails g scaffold Feed title:string content:string

Это создаст не только всю логику представления в HTML, но и в XML.

В дополнение к вашему первому комментарию:

Если вы посмотрите на контроллер, в блоке respond_to вы можете указать тип возвращаемого значения.Итак, вы хотите использовать xml-версию new и вернуть json-версию create.

Чтобы отобразить обработанные параметры в json, поместите их в хеш:

js = {:my => {:json => 'hash'}}
render :json => js
...