安裝了Rails框架之后,你同時也得到了一個新的命令行工具:rails。這個工具可以用于構造每個新的Rails應用程序。
為什么我們需要這么一個工具――我是說,為什么不抄起最順手的編輯器,從頭開始編寫應用程序的每行代碼呢?呃……我們確實可以這樣做,但Rails可以在 幕后變很多戲法,讓我們只需要做最少量的配置即可運行一個應用程序。為了讓這些戲法能夠生效,Rails必須能夠找到應用程序中的各種組件。正如我們稍后 將會看到的,這就意味著我們必須創建某種固定的目錄結構,并且將我們的代碼放在合適的地方。 rails這個命令可以幫我們創建這一目錄結構,并且生成一些標準的Rails代碼。
現在,我們來創建第一個Rails應用程序:打開shell窗口,進入文件系統的某個地方――你希望將應用程序目錄結構保存在那里的某個地方。在我們的例 子中,我們將把項目創建在一個名為work的目錄之下。因此,我們在這個目錄中用rails命令創建一個名為demo的應用程序。在這里要加些小心:如果 已經存在一個名叫demo的目錄,rails會詢問你是否要覆蓋已有的文件。
work> rails demo
create
create app/apis
create app/controllers
create app/helpers
: : :
create log/development.log
create log/test.log
work>
上述命令創建了一個名為demo的目錄。進入這個目錄,列出它的全部內容(在Unix中使用ls命令,在Windows中使用dir命令),你應該會看到這樣的一堆文件和子目錄:
demo> ls -p
CHANGELOG app/ db/ log/ test/
README components/ doc/ public/ vendor/
Rakefile config/ lib/ script/
突然面對那么多目錄(還有它們包含的文件)也許會讓你感到有點害怕,不過我們完全不用理會它們的存在。現在,我們只需要用到它們中的一個,也就是public目錄。
正如它的名字所暗示的,public目錄包含了我們希望暴露給最終用戶看到的那些文件。這里的關鍵文件是分發器 (dispatcher):dispatch.cgi、dispatch.fcgi、以及dispatch.rb。分發器負責接收用戶從瀏覽器發出的請 求,并將這些請求引導至應用程序中的程序代碼。這幾個文件很重要,不過我們目前還不需要接觸它們。
你還會看到,在demo目錄下有一個script子目錄,其中存放的是一些工具腳本,我們在開發應用程序的過程中會用到它們。現在,我們就要使用其中名叫 server的腳本,它會啟動一個獨立運行的WEBrick[1]服務器,我們新建的Rails應用程序就將在其中運行。那么,在繼續前進之前,我們先把 剛才編寫(或者說,生成)的應用程序啟動起來吧。
=> Rails application started on http://0.0.0.0:3000
[2005-02-26 09:16:43] INFO WEBrick 1.3.1
[2005-02-26 09:16:43] INFO ruby 1.8.2 (2004-08-24) [powerpc-darwin7.5.0]
[2005-02-26 09:16:43] INFO WEBrick::HTTPServer-start: pid=2836 port=3000
現在,我們已經讓新應用跑了起來,但其中還沒有我們自己編寫的代碼。下面,我們就要改變這種情況。
[1] WEBrick是一個純Ruby編寫的web服務器,隨Ruby 1.8.1或更高版本發行。
[2] URL地址中的“0.0.0.0”表示WEBrick會接收來自所有接口的連接。在Dave的OS X系統上,這就表示不管來自本地接口(127.0.0.1和::1)還是來自LAN連接的請求都會被WEBrick接收到。
現在,我們來編寫一個極其簡單的web應用,以驗證Rails已經成功地在我們的機器上落戶了。在此過程中,我們還會簡單介紹Rails應用的工作方式。
新聞熱點
疑難解答
圖片精選