Подтвердить что ты не робот

Учебники или скринкасты по созданию веб-службы REST на Rails

Я хочу создать REST webservice в Rails, чтобы служить в качестве серверного компонента для моего мобильного приложения. Может ли кто-нибудь указать некоторые учебные пособия или скринкасты на создание веб-сервисов REST для тех, кто изучает Rails?

Основные функции, которые я ищу:

  • Авторизация (проверка идентификатора пользователя и пароля).
  • Проводка данных с клиента (мобильного приложения) в базу данных сервера с использованием REST API

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

Было бы здорово, если бы кто-то мог написать немного кода, чтобы начать с этого.

Я относительно новичок в Rails и почти закончил книгу "Ruby on Rails Tutorials" Майкла Хартла. Это мой единственный опыт работы с Rails, до сих пор.

Спасибо.

4b9b3361

Ответ 1

Я написал 2 сообщения в блогах, которые вы, вероятно, найдете полезными:

http://davidsulc.com/blog/2011/04/10/implementing-a-public-api-in-rails-3/

http://davidsulc.com/blog/2011/04/17/consuming-a-public-rails-api-with-jquery/

Они не учебники, но вам нужно идти.

Основная идея заключается в следующем: вывести данные JSON через действия контроллера, когда запрос выполняется с форматом .json.

Запросы на перекрестный домен (например, те, которые вы будете делать из вашего мобильного приложения) немного сложнее, как объясняется в сообщении в блоге: вам действительно нужно будет отправлять javascript в обратном вызове, или ваш код не будет (вы получите пустой ответ). (Объясняется в первом сообщении.)

Как только данные будут показаны как JSON, просто запросите его из своего мобильного приложения (как объяснено во втором сообщении).

EDIT: У Manning есть книга о Rails 3 (один из авторов - не кто иной, как Yehuda Katz) с главой о создании API: http://manning.com/katz/ В частности, он охватывает авторизацию токена для API с помощью Devise.

Ответ 2

Я предлагаю вам посетить Railscasts. Если вы ищете по различным ключевым словам, вы получите массу информации. Я использовал "REST", "маршруты", "контроллер", чтобы начать...