簡體   English   中英

帶有REST API的Ruby on Rails

[英]Ruby on Rails with REST API

我是Ruby on Rails的新手,雖然我喜歡所提供的組織和標准,但是在如何使Rails在這種特定情況下對我有用的過程上,我有些困惑。

我有一個要與Rails應用程序一起使用的Web服務。 直接連接到數據庫會很好,並且可以立即為我提供使Rails應用程序正常工作所需的模型。

但是,我將必須復制webservice提供的所有邏輯(這並非不重要)。 如果我沒有直接連接到數據庫,我將如何持久化模型(例如用戶模型)。

我是否必須創建一個單獨的數據庫來模擬服務器的數據庫,但實際上從未直接與其交互?

預先感謝-如果需要澄清,請告訴我。

編輯:示例

  1. 我有一個URL上的Rails應用程序www.mywebservice:8080.com/users/5
  2. 服務返回JSON {name:foo,nick:bar,friend:baz}
  3. 在這一點上,我如何告訴Rails從剛得到的對象中創建一個User對象,然后將其存儲在數據庫中? 還是有辦法持久化此JSON對象?

ActiveResource可以很好地處理您的用例http://api.rubyonrails.org/classes/ActiveResource/Base.html

它所做的是反映在服務返回的json上,並偽造對象以使其看起來像是真實對象。

class User < ActiveResource::Base
end

user = User.find(1) 
puts user.name  
# "scott"

如果您不需要它的任何功能,為什么要使用Rails? 我建議從Sinatra開始,然后添加所需的庫,作為Rails附帶的JSON,ActiveRecord(?)。

您可以連接到所需的任何數據庫,而不必使用ActiveRecord,但是,很難理解您的真正要求。 這個標題與問題有什么關系? 為什么要直接DB? 您不想實例化用戶對象,然后在其上執行user.to_json嗎?

吻! :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM