首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Ruby on Rails 開發從頭來(三十一):Rails 目錄結構全景圖

     編輯:Java 相關知識

標準 Rails 專案目錄架構


rails_app/
├── app/                    # 應用程式核心程式碼 (MVC)
│   ├── controllers/        # 控制器
│   ├── helpers/            # 視圖輔助模組
│   ├── models/             # 模型
│   └── views/              # 視圖模板
│       ├── layouts/        # 佈局模板
│       └── controller_name/# 各控制器對應視圖
├── components/             # 可重用元件 (較少使用)
├── config/                 # 設定檔
│   ├── environments/       # 環境專屬設定
│   ├── database.yml        # 資料庫連線
│   ├── environment.rb      # 共用設定
│   └── routes.rb           # 路由設定
├── db/                     # 資料庫相關
│   ├── migrate/            # 遷移檔
│   └── schema.rb           # 結構定義
├── doc/                    # 產生的文件 (RDoc)
├── lib/                    # 共用程式庫、任務
│   └── tasks/              # 自訂 Rake 任務
├── log/                    # 日誌檔
│   ├── development.log
│   ├── production.log
│   ├── test.log
│   └── server.log
├── public/                 # 靜態檔案與公開入口
│   ├── images/
│   ├── javascripts/
│   ├── stylesheets/
│   ├── index.html          # 預設首頁
│   └── dispatch.fcgi       # FastCGI 入口
├── script/                 # Rails 腳本工具
│   ├── generate            # 程式碼產生器
│   ├── server              # 啟動開發伺服器
│   ├── console             # 互動式控制台
│   ├── runner              # 脫離 Web 執行程式碼
│   ├── benchmarker         # 效能基準測試
│   ├── profiler            # 程式碼分析
│   └── breakpointer        # 斷點除錯
├── test/                   # 測試程式碼
│   ├── fixtures/           # 測試資料
│   ├── functional/         # 控制器測試
│   ├── integration/        # 整合測試
│   ├── unit/               # 模型測試
│   └── mocks/              # 模擬物件
├── tmp/                    # 暫存檔
│   ├── cache/              # 片段快取
│   ├── pids/               # 進程 ID
│   ├── sessions/           # 檔案型 Session
│   └── sockets/            # Unix sockets
└── vendor/                 # 第三方程式碼
    ├── plugins/            # 插件
    └── rails/              # 凍結的 Rails 框架 (可選)

核心目錄詳細說明

app/ - 開發主戰場

包含模型、視圖、控制器三大核心,遵循嚴格命名慣例,Rails 自動載入無需 require。

config/ - 中樞神經

  • database.yml:資料庫連線
  • environment.rb:啟動初始化、共用配置
  • environments/*.rb:環境專屬配置
  • routes.rb:URL 路由規則
  • boot.rb:啟動引導(Rails 2.0+)

db/ - 資料庫版本控制

migrate/ 存放遷移檔,schema.rb 為目前結構快照,rake db:migrate 同步資料庫。

public/ - Web 伺服器文件根目錄

靜態資源(圖片、JS、CSS)直接由 Web 伺服器服務,不經 Rails 處理。index.html 為預設首頁,部署時通常移除或改導。

script/ - 開發利器

腳本用途
generate產生模型、控制器、遷移、脚手架等
server啟動開發伺服器 (WEBrick/Mongrel/Thin)
console載入完整環境進入 IRB
runner在 Rails 環境下執行 Ruby 程式碼
benchmarker比較多個程式碼片段效能
profiler分析單一方法呼叫堆疊效能
breakpointer斷點除錯伺服器 (需搭配 breakpoint())
destroy移除 generate 產生的檔案
plugin管理插件安裝/移除

test/ - 測試金字塔

  • unit/:模型單元測試
  • functional/:控制器功能測試
  • integration/:跨控制器整合測試
  • fixtures/:YAML 格式測試資料
  • mocks/:依環境區分的模擬物件

vendor/ - 外部依賴隔離區

第三方庫、插件、甚至凍結的 Rails 框架本體,確保專案可攜性與版本鎖定。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved