久久亚洲精品成人_国产精品欧美综合亚洲_亚洲va天堂va欧美ⅴa在线_91色视频在线观看_久久影院亚洲_一级黄色片播放_日韩av在线一区_精品一区二区在线看_老头吃奶性行交视频_日韩免费高清视频_天天操天天爽天天干_日本欧美在线视频

首頁 > 編程 > Ruby > 正文

在Ruby on Rails中使用Rails Active Resource的教程

2020-10-29 19:40:34
字體:
來源:轉載
供稿:網友

簡介

當今的應用程序不僅需要和基于瀏覽器的客戶端互操作,還需要和其他應用程序互操作。為實現互操作性,web 應用程序通常提供一個 web 服務 API。web 服務 API 通過一個網絡(比如 Internet)提供對應用程序 的遠程訪問。直到最近,web 服務 API 還使用重型、復雜的基于 SOAP 的 web 服務集成,這種 web 服務,不僅沒有什么優點,而且還需要很長時間才能實現。帶有基于 Representational State Transfer (REST) 服務的 Rails 框架有一種更簡單、更快捷的方法通過 Active Resource 來實現和使用 web 服務。

在 Rails 實現了 RESTful 以后,現在只需通過一個 Rails 動作就能提供一個特定資源的不同內容類型(或者表示)。這種方法有以下好處:

  •     一個資源的各種表示狀態。
  •     對不基于瀏覽器的 HTML 客戶端的附加支持在 Controller 視圖中得到了簡化。
  •     應用程序之間以及與新客戶端之間的互操作性。

在本文中,您將了解 REST、SOAP、Rails Active Resource,以及如何提高多個應用程序之間的互操作性。

Ruby on Rails

Ruby on Rails(也稱為 Rails 或 RoR)是一個用 Ruby 語言編寫的開源 web 應用程序框架。Ruby on Rails 旨在幫助開發人員更輕松快捷地開發和部署 web 應用程序,與其他語言和框架相比,Rails 框架進行了幾個假設。其目的是使用敏捷開發的方法,實現快速開發。

Rails 框架合并了以下幾個包:

  •     Active Record:一個對象關系映射層,用于數據庫相關訪問和功能;
  •     Action Pack:一個控制器和視圖功能管理器;
  •     Action Mailer:一個電子郵件處理器;
  •     Active Support
  •     Active Resource:提供 web 服務(即 Action Web 服務)。

Web 服務

Web 服務是使用開放協議通信的應用程序組件,它們可以被其他應用程序使用。web 服務是簡單 APIs ,可以使用 HTML 進行訪問,并在承載請求服務的遠程系統上執行。web 服務是不同平臺上、以不同語言編寫、不同系統上的各種應用程序的關鍵集成點。

REST 不是一個協議;它是利用 World Wide Web 的技術和協議的大型聯網軟件的一種架構風格。REST 描述如何定義和處理分布式數據對象(或資源),強調簡單的信息交換和可伸縮性。REST 架構描述該該架構上應用的 6 個約束。

另一方面,SOAP 是一個協議規范,用于在計算機網絡中交換 web 服務的實現中的結構化信息。它依賴 XML 作為其消息格式,通常依賴其他應用程序層協議(RPC 和 HTTP)進行消息協商和傳輸。SOAP 可以形成 web 服務協議堆棧的基礎層,提供用于在其上構建 web 服務的基礎消息傳遞框架。
REST 與 SOAP

下表展示了 REST 和 SOAP 之間的一些區別。

201542393455403.jpg (831×514)

REST 依賴一個單一的應用程序協議(HTTP)、幾個 URI、以及幾種通過 XML 標準化的數據格式。它采用成熟的 HTTP 方法(比如 GET 和 POST)來指揮應用程序。REST 開發人員使用 URI 來創建一個公共基礎,以便應用程序使用 HTTP 和 XML 來共享數據,而不是為應用程序創建一種機器可讀的標準方法來發現和使用遠程系統上的應用程序組件(這是 SOAP 用于 web 服務的方法)。REST 開發人員使用 XML 文檔而不是應用程序方法調用來告訴分布式程序如何相互使用數據。

REST 支持者指出,使用 SOAP 協議直接訪問遠程程序的功能必定會遇到 DCOM 和 Common Object Request Broker Architecture 等之前分布式計算架構所遇到的互操作性問題。

Active Resource

在對 web 應用程序在服務器和客戶機應用程序之間的通信采用 RESTful 方法之前,SOAP 和其他 XML-RPC 形式被用于通過一個 API 進行通信。Rails 2 引入的 Active Resource 替代了 Action Web Service。Active Resource 完全理解 RESTful 路由和 XML 表示。它是一個類,用于將 RESTful 資源映射為 Rails 應用程序中的模型。Active Resource 提供一些工具來快速、輕松地使用遵守 Rails RESTful URI 結構和協議約定的基于 REST 的 web 服務。Active Resource 將來自任何合格服務的響應映射到富 Ruby 對象。Active Resource 還提供輕松執行基本的 CRUD 功能需要的全部生命周期方法。

CRUD 操作分別對應 HTTP 方法 POST、GET、PUT 和 DELETE。而且,Active Resource 對這些 HTTP 方法中的每個方法都有一個方法。它們接收與 CRUD 相同的參數,但返回收到的 XML 的一個哈希表。Active Resource 對象本質上是 REST web 服務器的前端。它通過向服務器回調 HTTP 調用并將 XML 結果解析回一個 Ruby 對象中來獲取并修改它的數據。

清單 1 展示了一個最小 Active Resource 示例。假設有一個圖書館應用程序,每個類別作為一個不同的客戶端,且 Indian History 是其中一個類別。
清單 1. Active Resource 示例

class IndianHistory < ActiveResource::Baseself.site = “http://indian-history.com”end

ActiveResource 擁有與 Active Record 相同的方法。在上面的代碼樣例中,類 IndianHistory 正繼承自 ActiveResource Base。在第二行中,self.site 持有包含 IndianHistory 圖書的 URI 的站點值。在本例中,這個 URI 是 http://indian-history.com(假設這個 URI 是帶有必要模型和控制器動作的另一個 Rails 應用程序)。

現在,這個類被映射到站點值定位的 RESTful 資源,您現在可以操作 IndianHistory 類的資源。要獲取 Indian History 下的所有圖書列表,您將調用它的 find 方法,它類似于 Active Record find 方法。

>> books = IndianHistory.find (:all)

這個 Active Resource 模塊類似于 Active Record 模塊;它們擁有相同的風格。

假設您正在尋找標題為 “Akbar” 的圖書,可以使用以下代碼:

>> books = IndianHistory.find(:all, :params => { :title => “Akbar”}}

與 Active Record find 方法中的常規 :conditions 子句不同,本示例使用了 :params,且 URL 是 GET http://indian-history.com/indian_histories.xml?title=Akbar。

Active Resource 不僅限于檢索數據。您可以使用所有 CRUD 操作。在腳本/控制臺中,您可以使用:

>> IndianHistory.create (:title => “Jhansi Stories”, :amount => 233.00, :available => 0)

上述代碼行將使用提供的數據向 create 動作中存在清單 2 中的代碼的控制器創建一個 HTTP POST。
清單 2. Create

class IndianHistoryController < ActiveResource::Basedef create@book = IndianHistory.new (params [:indian_history])respond_to do |format|if @book.saveflash[:notice] = “New title added successfully” format.html { redirect_to(@book) }format.xml { render :xml => @book, :status => :created}elseformat.html { render :action => “new” }format.xml { render :xml => @book.errors, :status => :unprocessable_entity}endendendend

如果圖書記錄成功保存,將返回新創建的、狀態碼為 HTTP 201 的記錄,并將使用新創建的記錄重定向視圖。

同樣,您也可以更新和刪除記錄,主要您擁有執行管理的權限和訪問權。

對于 Update 操作,在腳本/控制臺中使用:
清單 3. Update

>> book= IndianHistory.find (2)>> book.available = 1>> book.save >> book = IndianHistory.find (2)>> book.available # => 1

您更新了圖書的可用性并保存記錄。ActiveResource 和 ActiveRecord 之間有一個細微差別:ActiveResource 中沒有方法 save 和 update。

最后,下面的語句將從數據庫移除記錄。

>> IndianHistory.delete(2)

除了上面介紹的基本操作外,Active Resource 還允許通過設置一個 HTTP 頭部來 支持 HTTP 基本身份驗證。假如用戶名和密碼被設置且在身份驗證失敗時拋出錯誤,則客戶機和服務器連接的安全檢查就能通過每個連接上的 Active Resource 身份驗證來完成。基本的身份驗證也可以輕松實現。

結束語

在本文中,您了解了 web 服務、REST、SOAP 和 Rails Active Resource。一個簡單的示例向您展示了 CRUD 操作。

Ruby on Rails Active Resource 包以一種 RESTful 方式提供多個 web 應用程序之間的輕松通信。除了 CRUD 操作外,它還允許您創建自定義動作。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
一区二区三区www| 国产真人无遮挡作爱免费视频| 精品视频一区在线| 久久久亚洲欧洲日产国码aⅴ| 亚洲精品97久久| 欧美日韩一二区| 亚洲自拍偷拍图区| 国产女主播在线一区二区| 三级精品在线观看| 91午夜交换视频| 日韩精品――中文字幕| 久久精品三级视频| 国产精品jizz| 美女久久久久久久久| 国产一级特黄a大片免费| 三上悠亚免费在线观看| 欧美三级网色| 精品无人乱码一区二区三区的优势| 国产三级精品网站| 国产日韩在线视频| 亚洲sss综合天堂久久| 国产精品999| 日韩av手机在线| 欧美有码在线视频| 欧美一级片久久久久久久| 国模私拍一区二区三区| 欧美精品video| 久久久女人电视剧免费播放下载| 欧美大胆a视频| 久久av.com| 日韩色av导航| 久久久在线观看| 国外成人性视频| 97婷婷涩涩精品一区| 久久久久这里只有精品| 91大神福利视频在线| 欧美激情一区二区三区久久久| 欧美黄网免费在线观看| 国产91ⅴ在线精品免费观看| 国产精品久久久久久久久久久久 | 麻豆传媒网站在线观看| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 午夜精品视频在线观看一区二区| 亚洲精品乱码视频| 欧美一级视频在线播放| 国内精品视频一区二区三区| 91免费视频网站在线观看| 成人久久久久久久久| 孩娇小videos精品| 国产精品久久久久久亚洲av| 懂色av蜜桃av| 国产成人在线观看网站| 亚洲一区二区天堂| 久久久久久久波多野高潮日日| 日本系列欧美系列| 国产aⅴ综合色| 国产精品嫩草久久久久| 一二三区精品视频| 欧美系列日韩一区| 日韩理论片久久| 欧美高清无遮挡| 5566av亚洲| 99亚洲精品视频| 自拍偷拍21p| 麻豆精品免费视频| 亚洲欧美偷拍视频| 黄色三级网站在线观看| 成人精品国产一区二区4080| 亚洲欧美日韩精品久久久久| 欧美日韩免费观看一区二区三区 | 久久国内精品视频| 99久久免费国产| 婷婷夜色潮精品综合在线| 日韩一级免费观看| 欧美激情按摩在线| 久久99精品久久久久久青青日本 | 久久综合九色综合欧美就去吻 | 日日躁夜夜躁aaaabbbb| 欧美 日本 国产| 一二三区免费视频| 麻豆一区二区99久久久久| 国产精品久久久久影院老司| 欧美日韩高清在线播放| 久久夜色精品亚洲噜噜国产mv | 99精品久久久久久| 亚洲动漫第一页| 精品香蕉一区二区三区| 国产精品白嫩初高中害羞小美女| 日韩色妇久久av| 色一情一区二区三区| 乱h高h女3p含苞待放| 国产成人毛毛毛片| 中文天堂在线一区| 欧美mv日韩mv国产网站app| 国语自产在线不卡| 亚洲欧洲精品在线| 欧美黑人欧美精品刺激| 中文亚洲av片在线观看| 成人av在线资源网站| 欧美亚洲国产一区在线观看网站| 欧美二区乱c黑人| 天天综合狠狠精品| 中文精品在线观看| 亚洲狼人综合网| 亚洲欧美日韩系列| 中文字幕欧美视频在线| 国产一区二区不卡视频| 苍井空张开腿实干12次| 成人午夜精品视频| 国产日韩av一区| 亚洲欧美日韩国产中文| 国产精品免费一区二区| 少妇伦子伦精品无吗| 正在播放亚洲精品| 国产精品对白交换视频| 亚洲日韩第一页| 欧美日韩一区二区三| 亚洲欧美日韩偷拍| 国产婷婷一区二区三区久久| 亚洲免费电影在线| 久久人体大胆视频| 手机看片日韩国产| 青青草精品在线视频| 国产99精品国产| 日韩成人在线视频网站| 久久久水蜜桃| 扒开jk护士狂揉免费| 日韩影院免费视频| 欧美巨大另类极品videosbest| 国产精品吹潮在线观看| 男人的天堂日韩| 国产精品久久久久久久久久久久久久久久久久 | 久久亚洲影院| 欧美伊人精品成人久久综合97 | 黄色av小说在线观看| 亚洲国产乱码最新视频| 久久男人av资源网站| 国产一区二区在线视频播放| 无码人妻丰满熟妇奶水区码| 亚洲青青青在线视频| 97免费视频在线播放| 三级4级全黄60分钟| 无码人妻精品一区二区三区9厂| 自拍视频在线观看一区二区| 欧美亚洲视频在线看网址| 91蝌蚪视频在线观看| 国产福利资源在线| 欧美在线你懂的| 国内精品视频免费| caoporn91| 成人欧美一区二区三区1314| 日本韩国欧美精品大片卡二| 中文字幕无人区二| 国产成人在线免费| 中文字幕日韩欧美在线视频| 亚洲国产精品毛片av不卡在线| 97人妻人人澡人人爽人人精品| 欧美亚州韩日在线看免费版国语版| 国内精品国语自产拍在线观看| 色www亚洲国产阿娇yao| 久久久久高清精品| 国产精品高潮呻吟久久av野狼 | 天天综合中文字幕| 亚洲国产精一区二区三区性色| 亚洲私人黄色宅男| 国产精品大片wwwwww| 玖玖爱在线观看| 国产视频911| 欧美在线一区二区视频| 好吊日免费视频| 中文字幕高清一区| 国产精品国产亚洲伊人久久| 国产人妻大战黑人20p| 91老司机福利 在线| 欧美专区在线播放| 日韩欧美黄色网址| 亚洲国产三级在线| 日本成人三级| 亚洲爱爱综合网| 亚洲图中文字幕| 国产成人精品综合久久久久99| 国产高清精品久久久久| 欧美激情视频网站| 国产伦精品一区二区三区视频女| 亚洲人123区| 九9re精品视频在线观看re6 | 久久久久五月天| 午夜一区二区三区免费| 国产欧美日韩激情| 国产麻豆乱码精品一区二区三区| 欧美日韩一二三四区| 制服丝袜成人动漫| 激情综合在线观看| 91最新地址在线播放| 成人疯狂猛交xxx| 国产午夜久久久| 日韩一卡二卡三卡| 在线观看av日韩| 91免费看视频| 国产偷久久久精品专区| 销魂美女一区二区| 亚洲精品一二区| 亚洲国产精品成人综合久久久| 亚洲欧洲日产国码二区| 青娱乐一区二区| 日本美女视频一区二区| 国内精品一区二区三区| 天天操天天操天天操天天操天天操| 欧美少妇一区二区| 在线观看高清免费视频| 国产精品免费视频网站| 日本一区二区精品| 久久精品官网| 国产精品福利观看| 国产又大又黑又粗| 欧美福利小视频| 日本午夜视频在线观看| 精品一区二区三区四区在线| 插吧插吧综合网| 在线观看一区日韩| 日本免费色视频| 亚洲精品国产无套在线观| 国产91沈先生在线播放| 91免费在线播放| 日韩欧美精品在线不卡| 精品综合久久久久久8888| 91在线播放国产| 蜜桃av综合| 产国精品偷在线| 日韩有码一区二区三区| 亚洲aa在线观看| 玖玖在线精品| 国产精品一区而去| 麻豆成人在线观看| 久久精品一区二区三区不卡免费视频| 日韩成人一级片| 国产精品视频500部| 麻豆一区二区三| 欧美极品一区| 99久久久无码国产精品| 中文字幕精品—区二区日日骚| 26uuu色噜噜精品一区二区| 91手机视频在线| 亚洲国产精品t66y| 狠狠97人人婷婷五月| 一区二区三区视频在线看| 日韩欧美在线播放视频| 欧美日韩另类视频| 亚洲综合中文网| 日韩一区二区三区电影在线观看| av女人的天堂| 国产小视频国产精品| 黄色一级片免费在线观看| 俺去亚洲欧洲欧美日韩| 一炮成瘾1v1高h| 91久久久久久国产精品| 国内一区二区视频| 色呦呦网站入口| 伊人婷婷欧美激情| 8x8x成人免费视频| 91精品欧美一区二区三区综合在| 一色道久久88加勒比一| 亚洲性线免费观看视频成熟| 特级毛片www| 国产在线精品自拍| 国产成人精品影视| 中文字幕色呦呦| 欧美日韩在线视频一区| 在线免费观看日韩av| 最近更新的2019中文字幕| 中文字幕在线观看视频一区| 91福利视频导航| 91一区二区三区在线观看| 日av中文字幕| 欧美大肚乱孕交hd孕妇| 久一视频在线观看| 国产精品高清在线观看| 国产成人99久久亚洲综合精品| 免费在线激情视频| 在线观看91av| 蜜臀尤物一区二区三区直播| 国产乱码精品一区二区三区卡| xnxx国产精品| xxxx国产视频| 久久精视频免费在线久久完整在线看| 国产一区二区波多野结衣| 狠狠色综合欧美激情| 亚洲欧美日韩国产成人精品影院| 美国黄色一级毛片| 国模极品一区二区三区| 国产a精品视频| 激情av中文字幕| 久久精品亚洲热| 麻豆久久久久久| 黄色片久久久久| 亚洲国产精品va在线观看黑人| 中文字幕av网站| 欧美高清视频一区| 欧美午夜片欧美片在线观看| 国产女片a归国片aa| 91久久久久久久久| 亚洲丝袜精品丝袜在线| 秋霞欧美一区二区三区视频免费| 国产91免费看片| 欧美国产日韩亚洲一区| 久久av无码精品人妻系列试探| 97免费中文视频在线观看| 99久久精品国产一区| 免费看黄色aaaaaa 片| 91国产一区在线| 久久亚洲精华国产精华液| 国产高清自拍视频| 国产91在线播放精品91| 国产精品每日更新| 欧美h片在线观看| 91精品国产综合久久久久久丝袜| 亚洲影视在线播放| 国产精品一区二区6| 天天好比中文综合网| 欧美一级国产精品| 天天干天天草天天射| 无人在线观看的免费高清视频 | 亚洲成a人片在线观看中文| 三上悠亚在线观看视频| 成人免费网站在线观看| 亚洲va韩国va欧美va精品 | 欧美激情精品久久久久久免费印度 | 国产va在线播放| 国产一区二区三区高清视频| 欧美在线一区二区| 亚洲成人77777| 亚洲免费在线播放视频| 51久久精品夜色国产麻豆| 亚洲三级小视频| 无码人妻丰满熟妇精品区| 欧美a级黄色大片| 最近日韩中文字幕中文| 久久久久久99久久久精品网站| 极品色av影院| 亚洲精品高清视频| 亚洲精品中文字幕有码专区| 成人小视频免费在线观看| 大胸美女被爆操| 日本中文不卡| 国产亚洲激情视频在线| 91美女视频网站| 国产一级特黄aaa大片| 亚洲精品偷拍视频| 久久影院免费观看| 亚洲视频网在线直播| 91久久久久国产一区二区| 亚洲欧洲日本精品| 91精品免费看| 91精品国产综合久久香蕉的特点 | 亚洲一区二区三区香蕉| 欧美在线免费播放| 秋霞成人午夜伦在线观看| 成年人网站免费看| 午夜精品一区二区三区四区| 国产亚洲精品va在线观看| 国产欧美日韩视频在线观看| 少妇久久久久久久| 潘金莲激情呻吟欲求不满视频| 91视频国产一区| 亚洲第一av网站| 国产欧美日韩麻豆91| 国产女人爽到高潮a毛片| 26uuu国产| 手机成人在线| 欧美激情视频一区二区| 岛国av午夜精品| 麻豆传媒一区二区三区| 青青草原在线免费观看视频| 国产精品秘入口18禁麻豆免会员| 国产欧美va欧美va香蕉在| 亚洲国产古装精品网站| 亚洲欧洲一区二区三区| 午夜成人免费影院| 熟女少妇a性色生活片毛片| 韩日视频在线观看| 国产在线精品成人一区二区三区| 日韩不卡在线观看| 亚洲欧美偷拍卡通变态| 美女国产一区二区三区| 我家有个日本女人| 欧洲熟妇精品视频| 乱色588欧美| 欧美黄色片视频| 精品欧美一区二区在线观看| 亚洲欧美在线另类| 日本在线不卡视频一二三区| 日韩欧美一区二区一幕| 男女污污视频网站| 亚洲欧美国产精品桃花| 国产精品69久久久久| 日韩av网站在线| 欧美日韩美女在线| www.激情成人| 神宫寺奈绪一区二区三区| 久草视频在线免费看| wwwxxxx在线观看| 成人免费a级片| 国产精品伊人日日| 国内精品小视频| 亚洲欧美色婷婷| 欧美三级电影精品| 亚洲欧洲综合另类| 99久久综合国产精品| 日日夜夜一区二区| 国产伦一区二区|