July 13, 2023

Viiisit [Ruby on Rails] - 先備知識!

#ruby on rails

About Rails

Rails 是使用 Ruby 程式語言所開發出來的網站開發框架(Web Framework)
由 David Heinemeier Hansson(簡稱 DHH)所開發。

在 Rails 世界有兩個大重點:

before_action :先備知識

在實作 CRUD 時,背後牽涉很多基本知識,現在就來看看這些有什麼吧!(⊃・ᴥ・)つ

REST

REST (Representational State Transfer) 是一種軟體架構風格,
主要用於設計網路應用程式的 API(幫助世界各地不同軟體、程式在網際網路中能夠互相傳遞訊息)
它基於資源(Resource)的概念,每個資源都有唯一的識別符號(URI),
並且可以透過不同的 HTTP 方法(GET、POST、PUT、DELETE 等)來執行相應的操作。

每個網頁都可視為一個資源提供使用者使用,而我們就可以透過 URL,也就是這些資源的地址,
來取得這些資源並在瀏覽器上使用。

Remark:
URI - Uniform Resource Identifier,
其中最常看見的 URL 是 URI 的一種特殊形式,兩者都是用來唯一識別資源的地址。

RESTful

RESTful 是符合 REST 設計原則的 API。當我們在設計 API 時,遵循 REST 的原則,特別是適當地使用 HTTP 方法、URI 和回應狀態碼,我們就可以稱這個 API 為 RESTful API。

Remark:
所謂的 API 是應用程式介面 (application programming interface),
網址也是一種應用程式的「介面」,故稱為 API。

RESTful 風格的網址設計強調從路由結構就能看出要對什麼資料、進行什麼操作。

Ruby on Rails 在設計上已經將 RESTful 的路由設定架構出來了。透過 Rails 的路徑設定,可以快速地建立符合 RESTful 概念的路由,並使應用程序遵循 RESTful 架構來處理資源的 CRUD 操作。

在之後 Viiisit Ruby on Rails - Route! 的篇章中,就能看的出來其中的設計理念了!

CRUD

CRUD 是 Create, Read, Update, Delete 四個字母的縮寫,中文是「增刪查改」;
這是一連串常見的動作行為,通常是為了針對某個特定資源所作出的舉動,如:建立資料、讀取資料等。
這四個行為最常見的用途是在使用 SQL 資料庫網站的 API 埠口的時候。

相對應的 SQL 語法、HTTP 請求、REST 表現層狀態轉換

- SQL HTTP REST 表現層狀態轉換
Create 建立 INSERT PUT / POST POST
Read 讀取 SELECT GET GET
Update 更新 UPDATE PUT / POST / PATCH PUT
Delete 刪除 DELETE DELETE DELETE

Route, Controller, View, Model, Migration

基本了解 CRUD 是什麼之後,接著要開始學習在 Ruby on Rials 裡面,
Route, Controller, View, Model, Migration 各自扮演的角色是什麼!

在 CRUD 實作裡,最常接觸的就是 Route, Controller, View, Model, Migration,
以下分別解釋他們的作用:

Route, Model, View, Controller
Image Source: (https://railsbook.tw/chapters/13-crud-part-1)


建立專案!

打開終端機,建立一個新的專案,透過下方指令:

1
rails new `自定義名稱`

接著進入到該專案資料夾:

1
cd `自定義名稱`

後續,我會以建立 Route 作為開端,一一介紹他們各自在 Ruby on Rails 的作用~!


參考資料:
為你自己學 Ruby on Rails(第二版)- 第一章 簡介及生態圈
為你自己學 Ruby on Rails
增刪查改
TechBridge 技術共筆部落格