第一步、配置環(huán)境,不多廢話,直接開始下列步驟:
1.到http://www.rubyonrails.org下載ROR的windows安裝包
2.點擊安裝文件ruby184-20.exe,一路next完成安裝
3.運行開始菜單->程序->Ruby-184-20->rubygems->RubyGems Package Manager進入命令行
4.gem install rails --include-dependencies安裝rails
5.rails <你的程序開發(fā)路徑>,瀏覽你的目錄,發(fā)現(xiàn)生成一些不明文件,先不管它.
6.cd <你的程序開發(fā)路徑>
7.ruby script/server
8.瀏覽器中敲入:http://localhost:3000,出現(xiàn)一些不明頁面,表示你的配置環(huán)境已經(jīng)okey.
9.完成測試
第二步、熟悉開發(fā)目錄,查看自己指定的開發(fā)目錄后一看,暴汗,這么多的目錄,還是先學習一下文件目錄好了
網(wǎng)上查閱了一些資料后收錄如下:
1.app目錄:我們?nèi)粘5拈_發(fā)工作基本就在這里了
?controllers:子目錄存放Rails要查找控制類。控制器處理來自用戶的一個Web請求
?helpers:子目錄持有所有用于支持模型,觀察器,和控制器類的幫助類。幫助類可使模型,觀察器,和控制器的代碼小,專注,和整潔
?models:子目錄存有模板和包裝我們在應(yīng)用程序數(shù)據(jù)庫內(nèi)存儲的數(shù)據(jù)的類。在大多數(shù)框架中,應(yīng)用程序的這一部分可會增長得非常雜亂,冗長,并更傾向于錯誤。Rails將它變得非常簡單
?views:子目錄存有用我們的應(yīng)用程序的數(shù)據(jù)庫填充有數(shù)據(jù)的顯示模板
2.components:可重用的組件(太高深了,之后再做補充)
3.config:數(shù)據(jù)庫連接參數(shù)控制
4.db:數(shù)據(jù)表信息
5.doc:自動生成的說明文件,估計類似于javadoc
6.lib:共享代碼
7.log:程序運行的時候產(chǎn)生的日志文件
8.public:程序運行的時候真正運行的目錄
9.script:沒有搞明白.之后補充.
10.test:當然是單元測試了
11.vendor:第三方代碼
看的有點暈,究竟是什么東西呢.繼續(xù)探索中
第三步、查疑補惑
當然首先想搞清楚controller了,畢竟瀏覽器發(fā)出請求后要通過它來轉(zhuǎn)發(fā)地。
所有的WEB請求的URL映射到一個控制器類內(nèi)的一個方法,這個工作rails是怎么做到地,帶著疑問我來繼續(xù)查看文檔。
1.ruby scriptgenerate controller MyDemo
發(fā)生了什么情況哦,命令行中顯示如下:
??????exists??app / helpers /
??????create??app / views / my_demo
??????exists??test / functional /
??????create??app / controllers / my_demo_controller.rb
??????create??test / functional / my_demo_controller_test.rb
??????create??app / helpers / my_demo_helper.rb
發(fā)現(xiàn)創(chuàng)建了一個app/controllers/my_demo_controller.rb,打開一看,代碼如下:
???end
2.在地址欄目敲入http://localhost:3000/My_Demo
發(fā)現(xiàn)顯示
?
?No?action?responded?to?index
哦,有點明白了,類似于找不到index方法
3.my_demo_controller.rb中加入
??render_text? " hello?world "
?end
4.刷新,helloworld出來了。汗,一個rails的helloworld被我搞出來了,可是還是暈,什么都不明白哦
別著急兄弟,接著我會再寫的,今天當玩了一票。晚上回去繼續(xù)玩
剛才玩了一會后再看文檔發(fā)現(xiàn),哦,原來controller默認去尋找index了
http://localhost:3000/My_Demo等同于http://localhost:3000/My_Demo/index
同理我在my_demo_controller.rb中再添加一個方法index1
??render_text??"haha,the?second?helloworld"?
?end
http://localhost:3000/My_Demo/index1,哦,是不太一樣了。
那我改為
??render_text??"哈哈,偶的中文您好"?
?end
刷新它,靠,跟以前java的破毛病難道一樣,亂碼問題又出來了嗎?
我仔細看了看,哦,瀏覽器默認選擇的是UTF-8,怪不得了,選擇為gb2312后中文就出來了,嚇了偶一跳啊。趕緊給大家貼出來