Ruby on Rails с REST API - PullRequest
       16

Ruby on Rails с REST API

2 голосов
/ 13 декабря 2010

Я новичок в Ruby on Rails, и хотя мне нравятся организация и предоставляемые стандарты, я немного запутался, как заставить рельсы работать на меня в этом конкретном случае.

У меня естьВеб-сервис, с которым я хочу использовать свое приложение rails.Было бы неплохо установить прямое соединение с базой данных и сразу же предоставить мне модели, необходимые для работы моего приложения на Rails.

Однако мне пришлось бы повторить всю логику, предоставляемую веб-сервисом (что не тривиально).Если бы я не установил прямое соединение с базой данных, как бы я сохранил модели (например, модель пользователя).

Нужно ли было бы создавать отдельную базу данных, которая имитирует базу данных сервера, но фактически не взаимодействуетс этим напрямую?

Заранее спасибо - дайте мне знать, если вам нужны разъяснения.

РЕДАКТИРОВАТЬ: Пример

  1. У меня есть приложение rails, которое получает URL-адрес www.mywebservice: 8080.com/users/5
  2. Сервис возвращает JSON {name:foo, ник: bar, friend: baz}
  3. На этом этапе, как мне сказать rails сделать объект User из того, что он только что получил, и затем сохранить его в базе данных?Или есть ли способ сохранить этот объект JSON?

Ответы [ 2 ]

5 голосов
/ 14 декабря 2010

ActiveResource прекрасно обрабатывает ваш сценарий использования http://api.rubyonrails.org/classes/ActiveResource/Base.html

Что он делает, так это отражается на json, возвращенном службой, и подделывает объект, чтобы он выглядел как настоящий объект.

class User < ActiveResource::Base
end

user = User.find(1) 
puts user.name  
# "scott"
1 голос
/ 13 декабря 2010

Зачем рельсы, если вам не нужны какие-либо их функции? Я бы порекомендовал начать с Sinatra , а затем добавить необходимые библиотеки, такие как JSON, ActiveRecord (?), С которым поставляется Rails.

Вы можете подключиться к любой базе данных, которую хотите, и вам не нужно использовать ActiveRecord, однако трудно понять, что вы на самом деле спрашиваете. Как этот заголовок связан с вопросом? Почему прямая БД? Вы не хотите создавать экземпляр User-объекта, а затем делать user.to_json для него?

ПОЦЕЛУЙ! :)

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