Ruby on Rails框架



框架是一個程式、一套程式和/或程式碼庫,它可以為你編寫大部分應用程式。使用框架時,你的工作是編寫應用程式的那些使其執行你想要做的特定事情的部分。

當你著手編寫 Rails 應用程式時,撇開配置和其他家務雜活不談,你必須執行三個主要任務:

  • 描述和建模應用程式的領域 - 領域是應用程式的宇宙。領域可以是音樂商店、大學、約會服務、地址簿或硬體庫存。因此,你必須弄清楚其中有什麼,在這個宇宙中存在哪些實體以及其中的專案是如何相互關聯的。這相當於建模資料庫結構以儲存實體及其關係。

  • 指定在這個領域中可以發生什麼 - 領域模型是靜態的;你必須使其動態化。可以將地址新增到地址簿中。可以從音樂商店購買樂譜。使用者可以登入約會服務。學生可以在大學註冊課程。你需要識別領域元素可以參與的所有可能的場景或動作。

  • 選擇和設計領域公開可用的檢視 - 在這一點上,你可以開始考慮 Web 瀏覽器方面的因素。一旦你決定你的領域有學生,並且他們可以註冊課程,你就可以設想一個歡迎頁面、一個註冊頁面和一個確認頁面等。每個頁面或檢視都向使用者顯示事物在特定時刻的狀態。

基於以上三個任務,Ruby on Rails 使用模型/檢視/控制器 (MVC) 框架。

Ruby on Rails MVC 框架

Model View Controller 原則將應用程式的工作劃分為三個獨立但緊密協作的子系統。

模型 (ActiveRecord)

它維護物件和資料庫之間的關係,並處理驗證、關聯、事務等等。

此子系統在 ActiveRecord 庫中實現,該庫提供關係資料庫中的表和操作資料庫記錄的 Ruby 程式程式碼之間的介面和繫結。Ruby 方法名稱會根據資料庫表的欄位名稱自動生成。

檢視 (ActionView)

它是以特定格式呈現資料,由控制器決定呈現資料。它們是基於指令碼的模板系統,例如 JSP、ASP、PHP,並且非常易於與 AJAX 技術整合。

此子系統在 ActionView 庫中實現,這是一個基於嵌入式 Ruby (ERb) 的系統,用於定義資料呈現的演示模板。每個與 Rails 應用程式的 Web 連線都會導致顯示一個檢視。

控制器 (ActionController)

應用程式中指導流量的工具,一方面查詢模型以獲取特定資料,另一方面將該資料(搜尋、排序、訊息傳遞)組織成適合給定檢視需求的形式。

此子系統在 ActionController 中實現,它是一個位於 ActiveRecord(資料庫介面)和 ActionView(演示引擎)之間的資料代理。

MVC 框架的圖示

以下是 Ruby on Rails 框架的圖示:

Rails Framework

MVC 框架的目錄表示

假設在 Linux 上進行標準的預設安裝,你可以這樣找到它們:

tp> cd /usr/local/lib/ruby/gems/2.2.0/gems
tp> ls

你會看到包括(但不限於)以下子目錄:

  • actionpack-x.y.z
  • activerecord-x.y.z
  • rails-x.y.z

在 Windows 安裝中,你可以這樣找到它們:

tp>cd ruby\lib\ruby\gems\2.2.0\gems
ruby\lib\ruby\gems\2.2.0\gems\>dir

你會看到包括(但不限於)以下子目錄:

MVC

ActionView 和 ActionController 捆綁在 ActionPack 下。

ActiveRecord 提供了一系列程式設計技術和快捷方式,用於操作來自 SQL 資料庫的資料。ActionController 和 ActionView 提供了操作和顯示該資料的工具。Rails 將所有這些結合在一起。

廣告
© . All rights reserved.