rails流程圖
讀R4R,才讀完第2章,前兩章沒什麼新內容,算是複習吧
rails的lifecycle:
從瀏覽器發起一個請求的基本流程:
A.server to dispatcher
服務器通過你指定的路徑查找dispatcher,比如,你在apache配置:
<VirtualHost www.r4rmusic.com>
ServerName www.r4rmusic.com
ServerAlias r4rmusic.com
DocumentRoot "/usr/local/share/railsapps/r4rmusic/public/"
</VirtualHost>
服務器將在"/usr/local/share/railsapps/r4rmusic/public/下查找分發器,在rails應用下麵有這麼幾個文件就是:dispatch.cgi dispatch.fcgi dispatch.rb
這幾個文件中的某個將被調用
B.dispatcher to controller
分發器將解析發起請求的URL,按照:
1.controller的名稱
2.action名稱
3.請求id值
來尋找相應的controller的action,並執行.當然,你可以通過編輯config下麵的routes.rb來定義自己的路由規則
C.performance of a controller action
當相應的controller以及相應的action被找到並且執行,他們將可以訪問:
1.CGI數據,form提交的數據
2.controller的session信息,內建的session方法
本質上rails是把業務邏輯放在controller的action裏麵,也就是沒有我們在J2EE中所謂的業務邏輯層.當業務邏輯或者說action較多時,你的controller文件不可避免的變的很長...在維護性和可讀性也許會帶來問題,當然,細分controller是更好的方法
文章轉自莊周夢蝶 ,原文發布時間5.17
最後更新:2017-05-17 11:02:23