iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0
自我挑戰組

Rails 手工打造自己的部落格 系列 第 7

Rails 手工打造自己的部落格 07 - MVC 設計

  • 分享至 

  • xImage
  •  

今天我們來淺談一下 Rails 的開發模式,
Rails 是遵循 MVC 的架構設計,

MVC

MVC是什麼呢?
是軟體工程中的一種軟體架構模式,把軟體系統切分為三個部分:
1. M 模型(Model)、
2. V 視圖(View)、
3. C 控制器(Controller)。

Model 模型

代表應用程式的數據層。負責處理應用程序的數據邏輯
負責定義數據的結構和規則,以及數據的相關邏輯,如驗證、計算和操作。

View 視圖

代表應用程式的用戶界面。負責將數據以可讀的方式呈現給用戶

Controller 控制器

處理用戶輸入和協調 Model 和 View 之間交互的組件

為什麼要用MVC?

按照Rails 的開發慣例,細分成這三種模式,讓每個區域負責的部分只專注做他該做的事情,
雖然檔案分散放置,但是這能讓開發者更有效率地去管理,在協作上也可以減少衝突,
特別是在維護專案的時候更可以一目了然的進行增加或修改。

Route(路徑)

Rails 的 MVC 比較特別的地方是還多了一個 route(路徑) 的設計,
但 route 的放置位置跟 MVC 不一樣,
是放在 config 目錄裡的 routes.rb 這個檔案裡面,

  • 而 route 用在什麼地方呢?

route 是用來定義應用程式的 URL 路徑如何映射到控制器動作的機制,
簡單來說,就是每個 route(路徑) 都會對應到其 controller(控制器) 的 action(動作)。

以下是一些常見的 Rails 路由設定及相關概念

  1. 基本路由:
# 將根目錄路徑映射到特定控制器的特定動作
root 'welcome#index'

# 自訂路徑映射到特定控制器的特定動作
get 'about', to: 'pages#about'
  1. RESTful 資源路由:
    RESTful 路由是一種通用的路由設計模式,將 CRUD 操作映射到相應的控制器動作。
resources :articles

使用 resources 會幫你建造出 8 條路徑,並且對應到 Controller 的 7 個方法
index、show、new、create、edit、update(PUT)、update(PATCH)、destroy

明天 我們再從 RESFul 繼續細講!


上一篇
Rails 手工打造自己的部落格 06 - Rails 目錄結構
下一篇
Rails 手工打造自己的部落格 08 - RESTfull API
系列文
Rails 手工打造自己的部落格 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言