Ruby on rails開發從頭來(windows)(三十一)- Rails的目錄結構

之前的三十篇都是根據書本上的內容寫的,很少有自己的理解,從這篇開始,來了解一些Rails的內部機理,所以理解的東西比較多,代碼就少了,這次我們來看看Rails的目錄結構。

關於Rails的目錄結構,通過前面的練習,我們應該有一些瞭解了,我們的工作目錄主要是app和test兩個。其他目錄還了解不多,下面是一個Rails項目通常的目錄結構,我們還用前面的depot項目來作例子,目前的depot項目的結構:

├─app                          

│  ├─controllers             

│  ├─helpers

│  ├─models

│  └─views

│      ├─admin

│      ├─layouts

│      ├─login

│      ├─search

│      └─store

├─components

├─config

│  └─environments

├─coverage

├─db

│  └─migrate

├─doc

│  └─app

│      ├─classes

│      └─files

│          ├─app

│          │  ├─controllers

│          │  ├─helpers

│          │  └─models

│          └─doc

├─lib

│  └─tasks

├─log

├─nbproject

│  └─private

├─public

│  ├─images

│  ├─javascripts

│  └─stylesheets

├─script

│  ├─performance

│  └─process

├─test

│  ├─fixtures

│  │  └─performance

│  ├─functional

│  ├─integration

│  ├─mocks

│  │  ├─development

│  │  └─test

│  ├─performance

│  └─unit

│      └─performance

├─tmp

│  ├─cache

│  ├─pids

│  ├─sessions

│  └─sockets

└─vendor

    └─plugins

下面來解釋這些目錄的含義

app:Model,View,Controller都在這個目錄下,對應的有子目錄,我們大部分的工作都在這裏進行。

Components:可複用的組件都放在這裏。

Config:數據庫鏈接等的配置信息。

Coverage:這個不是Rails自己的目錄,是我們在前面測試時安裝的測試覆蓋率工具的目錄。

Db:存放DB結構(Schema)的信息。

Doc:存放文檔,我們前面生成過一次depot項目的文檔,都在這裏面。

Lib:存放共享的代碼。

Log:我們的項目的日誌信息,裏面有development.log,production.log,server.log,test.log,我們在開發時的信息都寫在development.log裏,而測試時的log都寫在test.log裏。

Nbproject:這個不是Rails的目錄,是我們前面用NetBeans創建depot項目的時候生成的。

Public:可以從Web訪問的目錄,如果我們在瀏覽器的地址欄裏直接輸入:http://localhost:3003/那麼看到的就是這裏的index.html頁面。另外,我們前面也把一些css文件放在了這裏的stylesheet目錄裏。

Script:Rails用到的腳本,有一些我們可能已經用過了,比如:generate,process,performance。

Test:Model測試,功能測試,測試用的數據等等,我們前面在這個目錄下已經寫了很多代碼了。

Server:運行WEBrick服務器,我們前面在depot項目裏已經使用了。

Vendor:存放第三方的代碼。

 

下面再主要說說Script目錄下的腳本,主要的腳本有:

l         Benchmarker:對比多個方法的性能。

l         Breakpointer:斷點,能夠讓你和Rails應用程序交互。

l         Console:讓你能夠使用irb命令和rails應用程序交互。

l         Destroy:移除generate生成的文件。

l         Generate:代碼生成器,能夠生成Controller,Mailer,Model,Web服務等。你還可以從Rails的網站上下載一些擴展的生成器模塊。

l         Profiler:對你的程序進行性能測試,使用方面前面的隨筆也已經介紹過了。

Runner:可以使我們代碼中的方法脫離Web的上下文環境來運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章