- 學習 Ruby on Rails
- Rails 2.1 首頁
- Rails 2.1 簡介
- Rails 2.1 安裝
- Rails 2.1 框架
- Rails 2.1 目錄結構
- Rails 2.1 示例
- Rails 2.1 資料庫設定
- Rails 2.1 Active Records
- Rails 2.1 資料庫遷移
- Rails 2.1 控制器
- Rails 2.1 檢視
- Rails 2.1 佈局
- Rails 2.1 腳手架
- Rails 2.1 和 AJAX
- Rails 2.1 上傳檔案
- Rails 2.1 傳送郵件
- 高階 Ruby on Rails 2.1
- Rails 2.1 RMagick 指南
- Rails 2.1 基本 HTTP 認證
- Rails 2.1 錯誤處理
- Rails 2.1 路由系統
- Rails 2.1 單元測試
- 高階 Ruby on Rails 2.1
- Rails 2.1 提示與技巧
- 快速參考指南
- 快速參考指南
- Ruby on Rails 2.1 有用資源
- Ruby on Rails 2.1 - 資源
- Ruby on Rails 2.1 - 討論
Ruby on Rails 2.1 - 目錄結構
當您使用 Rails 的輔助指令碼建立應用程式時,它會建立應用程式的整個目錄結構。Rails 知道在哪裡可以找到其在此結構中需要的資源,因此您無需提供任何輸入。
以下是應用程式建立時輔助指令碼建立的目錄樹的頂層檢視。除了版本之間的微小更改外,每個 Rails 專案都將具有相同的結構和相同的命名約定。這種一致性為您帶來了巨大的優勢;您可以快速地在 Rails 專案之間切換,而無需重新學習專案的組織方式。
為了理解這個目錄結構,讓我們使用安裝章節中建立的demo應用程式。可以使用簡單的輔助命令建立它,如下所示:
C:\ruby\> rails -d mysql demo
現在,進入 demo 應用程式的根目錄,如下所示:
C:\ruby\> cd demo C:\ruby\demo> dir
您將找到如下所示的目錄結構:
demo/ ..../app ......../controller ......../helpers ......../models ......../views ............../layouts ..../config ..../db ..../doc ..../lib ..../log ..../public ..../script ..../test ..../tmp ..../vendor README Rakefile
現在讓我們解釋每個目錄的目的。
app − 它組織您的應用程式元件。它包含用於存放檢視 (views 和 helpers)、控制器 (controllers) 和後端業務邏輯 (models) 的子目錄。
app/controllers − 控制器子目錄是 Rails 查詢控制器類的地方。控制器處理來自使用者的 Web 請求。
app/helpers − helpers 子目錄包含用於輔助模型、檢視和控制器類的任何輔助類。它有助於使模型、檢視和控制器程式碼保持簡潔、重點突出且井井有條。
app/models − models 子目錄包含模擬和包裝應用程式資料庫中儲存的資料的類。在大多數框架中,應用程式的這一部分可能會變得非常混亂、冗長、冗餘且容易出錯。Rails 使其變得非常簡單!
app/views − views 子目錄包含顯示模板,用於填充應用程式資料,轉換為 HTML 並返回到使用者的瀏覽器。
app/views/layouts − 包含與檢視一起使用的佈局的模板檔案。這模擬了常用的頁首/頁尾包裝檢視的方法。在您的檢視中,使用<tt>layout :default </tt>定義佈局,並建立一個名為 default.rhtml 的檔案。在 default.erb 中,呼叫<% yield %> 以使用此佈局呈現檢視。
config − 此目錄包含應用程式所需的少量配置程式碼,包括資料庫配置 (database.yml)、Rails 環境結構 (environment.rb) 和傳入 Web 請求的路由 (routes.rb)。您還可以使用 environments 目錄中的檔案調整測試、開發和部署這三個 Rails 環境的行為。
db − 通常,您的 Rails 應用程式將具有訪問關係資料庫表的模型物件。您可以使用您建立並放在此目錄中的指令碼來管理關係資料庫。
doc − 使用rake doc:app生成時,此目錄將儲存您的應用程式文件。
lib − 應用程式特定的庫放在這裡。基本上,任何不屬於控制器、模型或幫助程式的自定義程式碼。此目錄位於載入路徑中。
log − 錯誤日誌放在這裡。Rails 建立指令碼以幫助您管理各種錯誤日誌。您會找到伺服器 (server.log) 和每個 Rails 環境 (development.log、test.log 和 production.log) 的單獨日誌。
public − 與 Web 伺服器的公共目錄一樣,此目錄包含不會更改的 Web 檔案,例如 JavaScript 檔案 (public/javascripts)、圖形 (public/images)、樣式表 (public/stylesheets) 和 HTML 檔案 (public)。這應設定為 Web 伺服器的 DOCUMENT_ROOT。
script − 此目錄包含用於啟動和管理您將與 Rails 一起使用的各種工具的指令碼。例如,有用於生成程式碼 (generate) 和啟動 Web 伺服器 (server) 等的指令碼。
test − 您編寫的測試和 Rails 為您建立的測試都放在這裡。您將看到用於模擬 (mocks)、單元測試 (unit)、夾具 (fixtures) 和功能測試 (functional) 的子目錄。
tmp − Rails 使用此目錄來儲存用於中間處理的臨時檔案。
vendor − 此處存放由第三方供應商提供的庫(例如超出基本 Rails 發行版的安全庫或資料庫實用程式)。
除了這些目錄外,demo 目錄中還將有兩個檔案。
README − 此檔案包含有關 Rail 應用程式的基本詳細資訊以及上述目錄結構的說明。
Rakefile − 此檔案類似於 Unix Makefile,它有助於構建、打包和測試 Rails 程式碼。這將由 Ruby 安裝程式提供的rake實用程式使用。