<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小螞蟻  
    風(fēng)雨過后才見彩虹
    公告

    • —————————————
      李麗君
      軟件測(cè)試工作者
      廣東籍貫的海南人
      北京生活12年
      目前在深圳

      郵箱:
      llj2003hbdd@163.com
      —————————————
      說明:本Blog中的內(nèi)容均為本人原創(chuàng)或轉(zhuǎn)載,本人依法保留Blog內(nèi)原創(chuàng)文章的所有權(quán)利,如需轉(zhuǎn)載,請(qǐng)注明作者及出處。未經(jīng)許可,不得將本Blog內(nèi)文章用于任何盈利性用途。
      —————————————
    日歷
    <2012年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    導(dǎo)航

    常用鏈接

    留言簿(174)

    隨筆分類(189)

    0--感興趣的網(wǎng)站

    1--國(guó)內(nèi)測(cè)試網(wǎng)站

    2--測(cè)試同行的blog

    3--開發(fā)好友的blog

    最新評(píng)論

     

    編寫背景:
          Klobo離職已經(jīng)3周了,接手自動(dòng)化缺貨監(jiān)控報(bào)告工具也3周了,有一部分功能用到了ruby on rails,業(yè)務(wù)部門提出了個(gè)新需求,以后每天都要抽一些時(shí)間來學(xué)習(xí)學(xué)習(xí)才能搞定這個(gè)工具的維護(hù),同時(shí)為以后自己搭建自動(dòng)化測(cè)試工具框架做準(zhǔn)備。今天就從最基礎(chǔ)的開始。

    本文資料來源:http://zh.wikipedia.org/wiki/Ruby_on_Rails

    簡(jiǎn)介
        Ruby on Rails 是一個(gè)可以使你開發(fā),部署,維護(hù) web 應(yīng)用程序變得簡(jiǎn)單的框架。
        Ruby on Rails,簡(jiǎn)稱Rails,是一個(gè)使用Ruby語言寫的開源Web應(yīng)用框架,它是嚴(yán)格按照MVC結(jié)構(gòu)開發(fā)的。它努力使自身保持簡(jiǎn)單,來使實(shí)際的應(yīng)用開發(fā)時(shí)的代碼更少,使用最少的配置。
        Ruby on Rails是一種結(jié)合Ruby語言與Rails平臺(tái)的一種網(wǎng)頁編程語言,Ruby語言以自然、簡(jiǎn)潔、快速著稱,全面支持面向?qū)ο蟪绦蛟O(shè)計(jì),而Rails則是Ruby廣泛應(yīng)用方式之一,在Rails平臺(tái)上設(shè)計(jì)出一套獨(dú)特的MVC開發(fā)架構(gòu),采取模型(Model)、外觀(View)、控制器(Controller)分離的開發(fā)方式,不但減少了開發(fā)中的問題,更簡(jiǎn)化了許多繁復(fù)的動(dòng)作。
        Rails的設(shè)計(jì)原則包括“不做重復(fù)的事”(Don't Repeat Yourself)和“慣例優(yōu)于設(shè)置”(Convention Over Configuration)。

    來歷
        Ruby的作者于1993年2月24日開始編寫Ruby,直至1995年12月才正式公開發(fā)布于fj(新聞組)。之所以稱為Ruby,是因?yàn)镻erl的發(fā)音與6月的誕生石pearl(珍珠)相同,因此Ruby以7月的誕生石ruby(紅寶石)命名。
        2004年7月,Rails的創(chuàng)始人大衛(wèi)•海納梅爾•韓森從37signals公司的項(xiàng)目管理工具Basecamp里面分離出Ruby on Rails,并且以開源方式發(fā)布。
        Rails在發(fā)布以后的短短的時(shí)間內(nèi)就迅速獲得很多開發(fā)人員歡迎,大衛(wèi)認(rèn)為這歸功于Rails設(shè)計(jì)為opinionated software。Rails當(dāng)中有很多規(guī)矩從一開始就按照David的意見制定好了,所以在Rails上開發(fā)應(yīng)用程序時(shí),開發(fā)人員可以專注于應(yīng)用程序自 身的設(shè)計(jì),省卻那些花在了解及配置基礎(chǔ)框架上面的時(shí)間。這也正是Rails很重要的精神“約定優(yōu)于配置”,開發(fā)人員遵照Rails本身的慣例便可以省卻配置組態(tài)檔的時(shí)間;此外,Rails雖然強(qiáng)調(diào)慣例的重要及便利性,但針對(duì)不同的需求,Rails也提供修改的空間讓開發(fā)人員可以進(jìn)行自定義的組態(tài)。

    運(yùn)作模式
        Rails框架是以固定的命名習(xí)慣來自動(dòng)判斷整個(gè)架構(gòu),默認(rèn)下會(huì)將網(wǎng)址分析成http://domain-name/ControllerName /ActionName/Attribute/ 然后運(yùn)行目標(biāo)Controller中的Action,并取出指定的View(視圖)回傳給瀏覽器顯示。面對(duì)數(shù)據(jù)庫則以Model(模塊)的形式,借由Active Record作為與數(shù)據(jù)庫之間的傳輸接口。

    Rails的MVC架構(gòu)
        Ruby on Rails的模型-視圖-控制器架構(gòu)由以下各部分組成:
        模型
              模型包含著應(yīng)用的狀態(tài),狀態(tài)可能是臨時(shí)的也可能是長(zhǎng)久性保存在數(shù)據(jù)庫中的。需要注意的是模型不僅包含數(shù)據(jù),而且包含數(shù)據(jù)代表的邏輯。在Rails中,模型通常是由一些代表關(guān)系數(shù)據(jù)庫中RDBMS表的類組成的。
              在RoR中,模型類是通過Active Record模式進(jìn)行處理的。一般來說,程序員要做的是繼承ActiveRecord類,同時(shí)程序會(huì)自動(dòng)計(jì)算出要使用哪個(gè)RDBMS表,這個(gè)表有哪些列。表與表之間的關(guān)系通過簡(jiǎn)單的命令來指明。
        控制器
               控制器將用戶界面和數(shù)據(jù)模型關(guān)聯(lián)起來,并充當(dāng)協(xié)調(diào)運(yùn)作的角色。它接收各種用戶操作,更新數(shù)據(jù)模型,并用合適的view展示結(jié)果給用戶。像他的名字一樣,可以說應(yīng)用的主要控制中心就是各個(gè)控制器。
        視圖
               View負(fù)責(zé)根據(jù)Model中的數(shù)據(jù)顯示用戶界面。作為web應(yīng)用,Rails里的View通常是生成整個(gè)或者部分網(wǎng)頁。當(dāng)然可以是XML或者甚至是JavaScript代碼。表現(xiàn)為使用內(nèi)嵌Ruby的HTML/XML/JavaScript模板。

        Rails的組成模塊
    Rails使用如下Gems
    actionmailer (1.3.2)
        Service layer for easy email delivery and testing.
    actionpack (1.13.2)
        Web-flow and rendering framework putting the VC in MVC.
    actionwebservice (1.2.2)
        Web service support for Action Pack.
    activerecord (1.15.2)
        Implements the ActiveRecord pattern for ORM.
    activesupport (1.4.1)
        Support and utility classes used by the Rails framework.
    rails (1.2.2)
        Web-application framework with template engine, control-flow layer, and ORM.
    模型:Active Record
    ActiveRecord實(shí)現(xiàn)了Rails的對(duì)象關(guān)系映射。
    控制器和視圖:ActionPack
    ActionController是Rails中的控制器,提供各種方法供用戶操作使用。
    ActionView是Rails中的視圖,負(fù)責(zé)展現(xiàn)用戶界面。
    常用實(shí)用工具:ActiveSupport
    ActiveSupport包提供一些工具和支持代碼。
    處理郵件:ActionMailer
    ActionMailer用來發(fā)送和接收email。
    Web服務(wù):ActionWebService
    ActionWebService來提供SOAP和XML-RPC支持。需要注意的是,Rails趨向使用更加簡(jiǎn)單明了的REST方式web服務(wù)而不再提倡SOAP格式的web服務(wù)。ActionWebServices在未來的版本里面會(huì)逐步淡出。
    網(wǎng)絡(luò)資源:ActionResource
    用REST對(duì)Web服務(wù)提供了優(yōu)秀的支持。這種風(fēng)格的Web服務(wù)使用指定的資源。

    Rails中的AJAX
    AJAX(異步JavaScript與XML)是一種異步傳輸接口,可以借由瀏覽器使用JavaScript和XML來處理傳輸請(qǐng)求,而將Web服務(wù)器作為后臺(tái)來處理,這樣無須載入額外的網(wǎng)頁。Rails自帶有Prototype包 來實(shí)現(xiàn)這個(gè)技術(shù)。Ajax已經(jīng)和Ruby on Rails結(jié)合在了一起成為了一個(gè)新的系統(tǒng)叫做“Ajax on Rails”。Rails提供一些助手工具來更方便地實(shí)現(xiàn)AJAX應(yīng)用。 Rails提供了一些Helper,可以在服務(wù)器一端用純Ruby語言生成給瀏覽器用的JavaScript代碼,從而讓Rails的開發(fā)者不需掌握 JavaScript就可以簡(jiǎn)單方便的開發(fā)出AJAX的應(yīng)用。

    Rails和Web服務(wù)
    稍早的版本的Rails中提供了ActionWebService作為開發(fā)XML-RPC和SOAP的web服務(wù)的基礎(chǔ)。但是最近的Rails 1.2更加傾向于是用REST方式的web服務(wù),而ActionWebService在Rails 2.0中作為plugin而不再是rails核心的一部分。

    Web服務(wù)器支持
    對(duì)于開發(fā)和測(cè)試來說,一個(gè)很輕量的WEBrick網(wǎng)頁服務(wù)器已經(jīng)被包含在了Ruby中,常被用來作為應(yīng)用服務(wù)器。而對(duì)于生產(chǎn)應(yīng)用,常推薦使用帶FastCGI的Apache或者Lighttpd,但任何支持CGI或者FastCGI的網(wǎng)頁服務(wù)器都可以使用。在Apache上,mod_ruby也可以考慮用來提高性能。

    數(shù)據(jù)庫支持
    使用Rails的架構(gòu)開發(fā)網(wǎng)絡(luò)應(yīng)用一般都使用數(shù)據(jù)庫,所以推薦使用一個(gè)關(guān)系數(shù)據(jù)庫系統(tǒng)來進(jìn)行數(shù)據(jù)存儲(chǔ),若不能運(yùn)行一個(gè)關(guān)系數(shù)據(jù)庫服務(wù)器,Rails也支持SQLite庫。很多關(guān)系數(shù)據(jù)庫系統(tǒng)都支持,包括MySQL、PostgreSQL、SQLite、IBM DB2、Oracle和SQL Server。

    系統(tǒng)要求
    • Ruby語言
    • Web服務(wù)器,如Apache、lighttpd等。
    • FastCGI,或者M(jìn)ongrel為了提高效率
    • 數(shù)據(jù)庫和驅(qū)動(dòng)程序

    集成開發(fā)環(huán)境

          開發(fā)用的IDE有:Eclipse , IntelliJ, Aptana。

    類似的框架
    • CakePHP
    • Django
    • TurboGears
    • CodeIgniter

    posted on 2012-11-07 11:37 lijun 閱讀(723) 評(píng)論(0)  編輯  收藏 所屬分類: 軟件自動(dòng)化測(cè)試
     
    Copyright © lijun Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 亚洲乱码一区av春药高潮| 久久91亚洲人成电影网站| 中文字幕在线观看亚洲| 特级做a爰片毛片免费看| 亚洲视频在线免费观看| 国产精品亚洲高清一区二区| 日本一道一区二区免费看| 亚洲男人天堂2020| 亚洲va久久久噜噜噜久久男同| 鲁啊鲁在线视频免费播放| 在线观看无码AV网站永久免费| 久久精品国产亚洲av麻豆小说| 一级免费黄色毛片| 亚洲 国产 图片| 一级一片免费视频播放| 国产免费啪嗒啪嗒视频看看| 亚洲卡一卡二卡乱码新区| 成年大片免费视频| 亚洲精品无码专区久久| 免费国产真实迷j在线观看| 色噜噜噜噜亚洲第一| 又大又粗又爽a级毛片免费看| 又黄又大的激情视频在线观看免费视频社区在线 | 精品97国产免费人成视频| 亚洲国产成人VA在线观看| 国产成人亚洲午夜电影| 亚洲理论电影在线观看| 99re6在线视频精品免费下载| 亚洲人xxx日本人18| 免费国产在线观看| 免费一级毛片在线播放视频| 久久av无码专区亚洲av桃花岛| 免费精品国产日韩热久久| 婷婷国产偷v国产偷v亚洲| 亚洲色婷婷综合久久| 国产免费av片在线看| 亚洲精品偷拍视频免费观看| 亚洲国产午夜精品理论片| 亚洲国产精品碰碰| 国产成人精品免费视频大全麻豆| 午夜亚洲乱码伦小说区69堂|