带有REST API的Ruby on Rails

我是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对象?

如果您不需要任何function,为什么选择rails? 我建议从Sinatra开始,然后添加你需要的库,如Rails附带的JSON,ActiveRecord(?)。

您可以连接到您想要的任何数据库,而不必使用ActiveRecord,但是,您很难理解您的真实要求。 这个标题与这个问题有什么关系? 为何直接DB? 您不想实例化User-object,然后对其执行user.to_json

吻! 🙂

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

它的作用是反映服务返回的json并伪造对象,使其看起来像是一个真实的对象。

 class User < ActiveResource::Base end user = User.find(1) puts user.name # "scott"