rails建立應用程式執行個體_ruby專題

來源:互聯網
上載者:User

安裝了Rails架構之後,你同時也得到了一個新的命令列工具:rails。這個工具可以用於構造每個新的Rails應用程式。

為什麼我們需要這麼一個工具——我是說,為什麼不抄起最順手的編輯器,從頭開始編寫應用程式的每行代碼呢?呃……我們確實可以這樣做,但Rails可以在 幕後變很多戲法,讓我們只需要做最少量的配置即可運行一個應用程式。為了讓這些戲法能夠生效,Rails必須能夠找到應用程式中的各種組件。正如我們稍後 將會看到的,這就意味著我們必須建立某種固定的目錄結構,並且將我們的代碼放在合適的地方。 rails這個命令可以幫我們建立這一目錄結構,並且產生一些標準的Rails代碼。

現在,我們來建立第一個Rails應用程式:開啟shell視窗,進入檔案系統的某個地方——你希望將應用程式目錄結構儲存在那裡的某個地方。在我們的例 子中,我們將把項目建立在一個名為work的目錄之下。因此,我們在這個目錄中用rails命令建立一個名為demo的應用程式。在這裡要加些小心:如果 已經存在一個名叫demo的目錄,rails會詢問你是否要覆蓋已有的檔案。

複製代碼 代碼如下:

dave>   cd   work

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命令),你應該會看到這樣的一堆檔案和子目錄:

複製代碼 代碼如下:

work>   cd   demo

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應用程式就將在其中運行。那麼,在繼續前進之前,我們先把 剛才編寫(或者說,產生)的應用程式啟動起來吧。

複製代碼 代碼如下:

demo>   ruby   script/server

=>   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


從啟動輸出資訊的最後一行就可以看出,我們在3000連接埠[2]上啟動了一個web伺服器。我們可以開啟瀏覽器,訪問http://localhost:3000,就會看到這個應用程式。
我們可以讓WEBrick一直在這個命令列視窗中運行。稍後我們編寫應用代碼之後,只要在瀏覽器中訪問,就會看到命令列視窗輸出請求的相關資訊。如果想要停止WEBrick的運行,可以在命令列視窗中按下Ctrl-C鍵。

現在,我們已經讓新應用跑了起來,但其中還沒有我們自己編寫的代碼。下面,我們就要改變這種情況。

[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應用的工作方式。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.