Как мне создать веб-сервис с рельсами? - PullRequest
3 голосов
/ 12 апреля 2010

У меня есть приложение silverlight, которому нужно поговорить с приложением rails, чтобы добавить запись. Я смог заставить приложение silverlight успешно выполнить POST, при условии, что все идет хорошо. Однако теперь мне нужно сделать его более надежным и заставить приложение rails возвращать сообщения об ошибках / успехе в приложение silverlight в формате, который он может прочитать (возможно, xml?). Я могу изменить приложение рельсы и приложение Silverlight по мере необходимости.

Каков наилучший способ сделать это с помощью рельсов?

Ответы [ 2 ]

6 голосов
/ 12 апреля 2010

Rails обрабатывает большую часть этого из коробки.

Вам нужно взглянуть на response_to

Это вернет записи в @list как XML:

@list = Model.find(:all)
respond_to do |format|           
  format.html { render :action => "index" }
  format.xml  { render :xml => @list }
end             

Вы можете установить статус, используя заголовки http (для действий, которые ничего не возвращают):

format.xml  { head :ok }

И вы можете предоставить более сложные сообщения, в этом случае возвращая ошибки Active Record и сообщение о состоянии:

format.xml  { render :xml => @model.errors, :status => :unprocessable_entity }
1 голос
/ 12 апреля 2010

Это будет почти то же самое, что и любое типичное приложение Rails.

Единственное отличие состоит в том, что вы отвечаете xml (или json, или чем-то еще, что Silverlight может анализировать) на любые соответствующие действия. (Вместо того, чтобы отображать страницу HTML.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...