莊周夢蝶

          生活、程序、未來
             :: 首頁 ::  ::  :: 聚合  :: 管理

          rails流程圖

          Posted on 2007-02-06 13:37 dennis 閱讀(449) 評論(0)  編輯  收藏 所屬分類: 動(dòng)態(tài)語言

          讀R4R,才讀完第2章,前兩章沒什么新內(nèi)容,算是復(fù)習(xí)吧

          rails的lifecycle:
          test3.jpg

          從瀏覽器發(fā)起一個(gè)請求的基本流程:

          A.server to dispatcher

          服務(wù)器通過你指定的路徑查找dispatcher,比如,你在apache配置:

          <VirtualHost www.r4rmusic.com>
          ServerName www.r4rmusic.com
          ServerAlias r4rmusic.com
          DocumentRoot "/usr/local/share/railsapps/r4rmusic/public/"
          </VirtualHost>

          服務(wù)器將在"/usr/local/share/railsapps/r4rmusic/public/下查找分發(fā)器,在rails應(yīng)用下面有這么幾個(gè)文件就是:dispatch.cgi dispatch.fcgi dispatch.rb

          這幾個(gè)文件中的某個(gè)將被調(diào)用

          B.dispatcher to controller

          分發(fā)器將解析發(fā)起請求的URL,按照:

          1.controller的名稱

          2.action名稱

          3.請求id值

          來尋找相應(yīng)的controller的action,并執(zhí)行.當(dāng)然,你可以通過編輯config下面的routes.rb來定義自己的路由規(guī)則

          C.performance of a controller action

          當(dāng)相應(yīng)的controller以及相應(yīng)的action被找到并且執(zhí)行,他們將可以訪問:

          1.CGI數(shù)據(jù),form提交的數(shù)據(jù)

          2.controller的session信息,內(nèi)建的session方法

          本質(zhì)上rails是把業(yè)務(wù)邏輯放在controller的action里面,也就是沒有我們在J2EE中所謂的業(yè)務(wù)邏輯層.當(dāng)業(yè)務(wù)邏輯或者說action較多時(shí),你的controller文件不可避免的變的很長...在維護(hù)性和可讀性也許會(huì)帶來問題,當(dāng)然,細(xì)分controller是更好的方法

          主站蜘蛛池模板: 商城县| 河北区| 绥宁县| 增城市| 锡林浩特市| 新密市| 漾濞| 福泉市| 通河县| 新民市| 玛曲县| 云阳县| 军事| 个旧市| 丹东市| 商河县| 自贡市| 凉城县| 衡东县| 日喀则市| 都江堰市| 二连浩特市| 剑河县| 施甸县| 濮阳市| 永康市| 安多县| 从化市| 阿拉善右旗| 南部县| 徐汇区| 盐山县| 巩留县| 无极县| 自贡市| 象山县| 容城县| 仁怀市| 苏尼特左旗| 呈贡县| 吕梁市|