- Rails 應用一般都從
rails new
命令開始,這個命令會在你指定的目錄中Rails 應創建用的骨架。 - bundle install
- Rails 目錄結構簡介
文件/文件夾 | 作用 |
---|---|
app/assets | 應用的靜態資源文件,例如層疊樣式表(CSS)、JavaScript文件和圖像 |
app/assets | 應用的核心文件,包含模型、視圖、控制器和輔助方法 |
bin/ | 可執行的二進制文件 |
config/ | 應用的配置 |
doc/ | 應用的文檔 |
lib/ | 可執行的二進制文件 |
lib/assets | 代碼庫的靜態資源文件,例如層疊樣式表(CSS)、JavaScript 文件和 |
圖像 | |
log/ | 應用的日志文件 |
public/ | 公共(如瀏覽器)可訪問的文件,例如錯誤頁面 |
bin/rails/ | 生成代碼、打開終端會話或啟動本地服務器的程序 |
test/ | 應用的測試 |
tmp/ | 臨時文件 |
vendor/ | 第三方代碼,例如插件和 gem |
vendor/assets/ | 第三方靜態資源文件,例如層疊樣式表(CSS)、JavaScript 文件和圖像 |
README.md/ | 應用簡介 |
Rakefile/ | 使用 rake 命令執行的實用任務 |
Gemfile/ | 應用所需的 gem |
Gemfile.lock/ | gem 列表,確保這個應用的副本使用相同版本的 gem |
config.ru/ | Rack 中間件的配置文件 |
.gitignore/ | Git 忽略的文件模式 |
4.模型-視圖-控制器
Rails 采用了“模型-視圖-控制器”(簡稱 MVC)架構模式。這種模式把應用中的數據(例如用戶信息)與顯示數據的代碼分開,這是圖形用戶界面(Graphical User Interface,簡稱 GUI)常用的架構方式。
mvc_schematic.png
與 Rails 應用交互時,瀏覽器發出一個請求(request),Web 服務器收到請求之后將其傳給 Rails 應用的控制器,決定下一步做什么。某些情況下,控制器會立即渲染視圖(view),生成 HTML,然后發送給瀏覽器。在動態網站中,更常見的是控制器與模型(model)交互。模型是一個 Ruby 對象,表示網站中的一個元素(例如一個用戶),并且負責與數據庫通信。與模型交互后,控制器再渲染視圖,把生成的 HTML 返回給瀏覽器。
5.練習
-
練習題一:把 hello 動作(代碼清單 1.8)中的“hello, world!”改成“hola, mundo!”。
-
練習題二:使用倒置的感嘆號(如“?Hola, mundo!”中的第一個字符),證明 Rails 支持非 ASCII 字符。在 Mac 中輸入 ? 字符的方法是按 Option-1 鍵;此外,也可以直接把這個字符復制粘貼到編輯器中。
-
練習題三:按照編寫 hello 動作的方式(代碼清單 1.8),再添加一個動作,命名為 goodbye,渲染文本“goodbye, world!”。然后修改路由文件(代碼清單 1.10),把根路由改成 goodbye。
(1)添加動作goodbye
(2)修改路由文件
(3)結果
Screenshot from 2017-03-27 12-23-54.png