Ruby on Rails/入門/模型-檢視-控制器
外觀
< Ruby on Rails | 入門

如前所述,Rails 依賴於 MVC 模式。模型-檢視-控制器比傳統概念有一些優勢
- 它將您的業務邏輯與(基於 HTML 的)檢視分開
- 使您的程式碼整潔,並保持在一個地方
模型表示資料庫中的資訊和資料。它儘可能獨立於資料庫(Rails 自帶 O/R-Mapper,允許您更改為應用程式提供資料的資料庫,但不更改應用程式本身)。模型還在資料進入資料庫之前進行驗證。大多數情況下,您將在資料庫中找到一個表,並在應用程式中找到一個相應的模型。
檢視是應用程式的展示層。檢視層負責渲染您的模型為一種或多種格式,例如 XHTML、XML 或甚至 Javascript。Rails 支援任意文字渲染,因此支援所有文字格式,但也包括對 Javascript 和 XML 的顯式支援。在檢視中,您將找到(大多數情況下)帶有嵌入式 Ruby 程式碼的 HTML。在 Rails 中,檢視預設情況下使用ERb 實現。
控制器連線模型和檢視。在 Rails 中,控制器作為ActionController 類實現。控制器知道如何處理來自模型的資料,以及如何將資料傳遞到檢視。控制器不應包含任何與資料庫相關的操作(例如,在資料儲存到資料庫之前修改資料)。這應該在適當的模型中處理。
當您在檢視中經常使用的程式碼太大/太亂,無法放在檢視中時,您可以在助手內為它定義一個方法。在助手內定義的所有方法都可以在檢視中自動使用。
當前的最佳實踐包括
- 胖模型和瘦控制器
- 業務邏輯應該始終放在模型中
- 檢視應該包含最少的程式碼
- 使用助手!
- 使用模型
- DRY(不要重複自己)