带有REST API的Ruby on Rails

hwr*_*kns 2 rest ruby-on-rails ruby-on-rails-3

我是Ruby on Rails的新手,虽然我喜欢提供的组织和标准,但我对如何在这种特定情况下让rails工作有点困惑.

我有一个Web服务,我想使用我的rails应用程序.直接连接到数据库会很好,并立即为我提供使我的Rails应用程序工作所需的模型.

但是,我必须复制webservice提供的所有逻辑(这不是一件容易的事).如果我没有直接连接到数据库,我将如何持久保存模型(例如用户模型).

我是否必须创建一个单独的数据库来模拟服务器的数据库,但从不直接与它进行交互?

在此先感谢 - 如果您需要澄清,请告诉我.

编辑:示例

  1. 我有一个rails应用程序,可以访问URL www.mywebservice:8080.com/users/5
  2. 服务返回JSON {name:foo,nick:bar,friend:baz}
  3. 在这一点上,我如何告诉rails将User对象从它刚刚获得的内容中删除,然后将其存储在数据库中?或者有没有办法坚持这个JSON对象?

Sco*_*ess 5

ActiveResource处理你的用例很好http://api.rubyonrails.org/classes/ActiveResource/Base.html

它的作用是反映服务返回的json并假冒对象使它看起来像是一个真实的对象.

class User < ActiveResource::Base
end

user = User.find(1) 
puts user.name  
# "scott"
Run Code Online (Sandbox Code Playgroud)