婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 在Ruby on Rails中使用Rails Active Resource的教程

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

熱門標(biāo)簽:高德地圖標(biāo)注客服 地圖標(biāo)注賺錢項目注冊 白銀外呼paas系統(tǒng) 常德電銷平臺外呼系統(tǒng)軟件價格 徐州網(wǎng)絡(luò)外呼系統(tǒng)哪個好 電銷機器人廠商代理 湖州u友防封電銷卡 滴滴外呼系統(tǒng) 百度地圖標(biāo)注自定義圖片

簡介

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

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

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

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

Ruby on Rails

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

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

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

Web 服務(wù)

Web 服務(wù)是使用開放協(xié)議通信的應(yīng)用程序組件,它們可以被其他應(yīng)用程序使用。web 服務(wù)是簡單 APIs ,可以使用 HTML 進行訪問,并在承載請求服務(wù)的遠程系統(tǒng)上執(zhí)行。web 服務(wù)是不同平臺上、以不同語言編寫、不同系統(tǒng)上的各種應(yīng)用程序的關(guān)鍵集成點。

REST 不是一個協(xié)議;它是利用 World Wide Web 的技術(shù)和協(xié)議的大型聯(lián)網(wǎng)軟件的一種架構(gòu)風(fēng)格。REST 描述如何定義和處理分布式數(shù)據(jù)對象(或資源),強調(diào)簡單的信息交換和可伸縮性。REST 架構(gòu)描述該該架構(gòu)上應(yīng)用的 6 個約束。

另一方面,SOAP 是一個協(xié)議規(guī)范,用于在計算機網(wǎng)絡(luò)中交換 web 服務(wù)的實現(xiàn)中的結(jié)構(gòu)化信息。它依賴 XML 作為其消息格式,通常依賴其他應(yīng)用程序?qū)訁f(xié)議(RPC 和 HTTP)進行消息協(xié)商和傳輸。SOAP 可以形成 web 服務(wù)協(xié)議堆棧的基礎(chǔ)層,提供用于在其上構(gòu)建 web 服務(wù)的基礎(chǔ)消息傳遞框架。
REST 與 SOAP

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

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

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

Active Resource

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

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

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

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

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

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

>> books = IndianHistory.find (:all)

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

假設(shè)您正在尋找標(biāo)題為 “Akbar” 的圖書,可以使用以下代碼:

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

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

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

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

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

class IndianHistoryController  ActiveResource::Base
def create
@book = IndianHistory.new (params [:indian_history])
respond_to do |format|
if @book.save
flash[:notice] = “New title added successfully” 
format.html { redirect_to(@book) }
format.xml { render :xml => @book, :status => :created}
else
format.html { render :action => “new” }
format.xml { render :xml => @book.errors, :status => :unprocessable_entity}
end
end
end

end

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

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

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

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

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

最后,下面的語句將從數(shù)據(jù)庫移除記錄。

>> IndianHistory.delete(2)

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

結(jié)束語

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

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

您可能感興趣的文章:
  • 舉例理解Ruby on Rails的頁面緩存機制
  • 在Ruby on Rails中優(yōu)化ActiveRecord的方法
  • 舉例講解Ruby中迭代器Iterator的用法

標(biāo)簽:張家界 梧州 永州 公主嶺 普洱 三沙 遼寧 荊門

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Ruby on Rails中使用Rails Active Resource的教程》,本文關(guān)鍵詞  在,Ruby,Rails,中,使用,Active,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在Ruby on Rails中使用Rails Active Resource的教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于在Ruby on Rails中使用Rails Active Resource的教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    白白色亚洲国产精品| 韩国理伦片一区二区三区在线播放| 亚洲精品一区二区三区蜜桃下载 | 国产女同性恋一区二区| 精品国产一区二区国模嫣然| 精品乱人伦一区二区三区| 欧美人妖巨大在线| 精品三级av在线| 精品久久久久久综合日本欧美| 日韩欧美精品三级| 久久久一区二区三区| 国产农村妇女毛片精品久久麻豆 | 蜜桃av一区二区在线观看| 视频一区二区三区入口| 免费高清在线一区| 国产精品一区三区| 91在线无精精品入口| 欧亚一区二区三区| 欧美不卡123| 中文字幕av一区二区三区免费看 | 欧美系列日韩一区| 欧美人妖巨大在线| 久久嫩草精品久久久精品| 久久久午夜精品理论片中文字幕| 中文字幕亚洲区| 亚洲伊人色欲综合网| 久久国产综合精品| 91无套直看片红桃| 欧美一区二区三区四区视频| 国产亚洲精品bt天堂精选| 亚洲精品视频在线看| 日本美女视频一区二区| 国产高清在线精品| 欧美日韩大陆在线| 国产欧美中文在线| 天天综合天天综合色| 国产999精品久久| 欧美福利视频导航| 国产精品理论在线观看| 日韩激情av在线| av网站一区二区三区| 欧美一三区三区四区免费在线看| 国产偷国产偷精品高清尤物| 无码av免费一区二区三区试看| 国产曰批免费观看久久久| 欧美自拍丝袜亚洲| 国产精品美女一区二区| 九一久久久久久| 欧美性色欧美a在线播放| 国产三级欧美三级日产三级99| 午夜精品一区二区三区电影天堂| 懂色av中文一区二区三区| 91精品欧美综合在线观看最新 | 欧美日韩一卡二卡| 亚洲国产精品99久久久久久久久| 亚洲成av人片在www色猫咪| 成人禁用看黄a在线| 欧美成va人片在线观看| 性做久久久久久久久| 91丝袜国产在线播放| 中文字幕在线不卡| 国产精品一区久久久久| 精品对白一区国产伦| 婷婷一区二区三区| 欧美在线制服丝袜| 亚洲夂夂婷婷色拍ww47| 一本一道波多野结衣一区二区| 中文字幕av一区 二区| 国产乱淫av一区二区三区| 日韩一区二区在线看| 日本不卡免费在线视频| 欧美精品久久久久久久久老牛影院| 亚洲亚洲人成综合网络| 在线观看欧美日本| 亚洲国产三级在线| 欧美日韩一级二级| 日韩**一区毛片| 日韩色视频在线观看| 久草这里只有精品视频| 久久久国产精华| 成人av电影在线观看| 亚洲视频中文字幕| 在线观看不卡视频| 日本不卡视频在线| 国产欧美一区二区在线| 成人av在线资源| 一级做a爱片久久| 在线不卡中文字幕| 国产成人h网站| 亚洲蜜臀av乱码久久精品| 欧美日韩一本到| 久久av老司机精品网站导航| 精品国产电影一区二区| 福利电影一区二区三区| 亚洲欧洲成人自拍| 欧美巨大另类极品videosbest | 激情五月婷婷综合| 久久久久国产精品麻豆ai换脸| 国产成人日日夜夜| 亚洲午夜日本在线观看| 日韩视频免费观看高清完整版 | 国产一区二区看久久| 国产精品对白交换视频| 欧美三区在线观看| 亚洲大尺度视频在线观看| 欧美美女一区二区在线观看| 国产一区啦啦啦在线观看| 亚洲视频图片小说| 欧美精品一区二区三区久久久| 成人av动漫网站| 美女在线视频一区| 一区二区在线观看视频| 日韩三级伦理片妻子的秘密按摩| 成人视屏免费看| 日本特黄久久久高潮| 亚洲欧洲国产专区| 精品国产免费一区二区三区四区 | 国产精品色一区二区三区| 在线免费一区三区| 国产成人av电影在线| 亚洲sss视频在线视频| 国产性做久久久久久| 欧美日韩大陆一区二区| 97se狠狠狠综合亚洲狠狠| 久久精品国产77777蜜臀| 亚洲三级在线免费观看| 久久女同精品一区二区| 欧美一区二区在线免费播放| 一本久道中文字幕精品亚洲嫩| 韩国av一区二区三区四区| 亚洲国产wwwccc36天堂| 日韩一区欧美一区| 国产欧美日韩在线看| 久久久久99精品一区| 日韩欧美123| 717成人午夜免费福利电影| 91九色02白丝porn| 91久久精品网| 色偷偷久久一区二区三区| 97se亚洲国产综合自在线| 成人免费观看视频| 成人av网站免费| 成人精品免费网站| 岛国精品在线观看| 成人久久视频在线观看| 成人性生交大片免费看中文网站| 国产精品夜夜嗨| 国产成人精品三级| 成人国产亚洲欧美成人综合网| 国产精品资源在线看| 国产一区二区影院| 亚洲国产视频在线| 91精品国产全国免费观看| 色综合久久久久综合| 中文一区二区在线观看| 精品国内二区三区| 久久蜜桃香蕉精品一区二区三区| 欧美电影免费观看完整版| 久久久综合激的五月天| 欧美女孩性生活视频| 久久久国际精品| 亚洲bdsm女犯bdsm网站| 顶级嫩模精品视频在线看| 欧美日韩一区不卡| **性色生活片久久毛片| 极品美女销魂一区二区三区| 在线视频一区二区三| 中文无字幕一区二区三区| 日韩精品一区第一页| 91久久精品日日躁夜夜躁欧美| 欧美激情中文不卡| 九九九久久久精品| 欧美久久久久久久久中文字幕| 国产精品国产三级国产三级人妇| 精品在线视频一区| 欧美一级视频精品观看| 亚洲综合男人的天堂| 一本久久综合亚洲鲁鲁五月天| 国产日韩欧美精品一区| 国产在线国偷精品免费看| 欧美群妇大交群的观看方式| 亚洲一区在线视频观看| 97精品电影院| 中文字幕一区免费在线观看| 国内精品久久久久影院薰衣草| 日韩精品一区二区三区视频在线观看| 亚洲成av人**亚洲成av**| 欧美日韩精品欧美日韩精品一 | 成人国产在线观看| 国产视频不卡一区| 国产伦精品一区二区三区免费| 日韩欧美在线网站| 久久国产婷婷国产香蕉| 欧美一级免费观看| 麻豆视频观看网址久久| 欧美精品久久久久久久多人混战 | 欧美一区二区三区免费大片| 日韩国产一二三区| 欧美一级片在线观看| 日韩福利视频网|