Ruby on Rails 網站程式設計基礎班
LESSON 5
Homework2
Quiz2
Welcome to Ruby on Rails!
Your First Rails App
$rails new my_app_name
Bundle Install
$rails new my_app_name
Rails 運作流程

Rails 運作流程
- 瀏覽器發出HTTP request請求給Rails
- 路由(Routing)根據規則決定派往哪一個Controller的Action
- 負責處理的Controller Action操作Model資料
- Model存取資料庫或資料處理
- Controller Action將得到的資料餵給View樣板
- 回傳最後的HTML成品給瀏覽器
database.yml
- 這個網站 / app 是如何和資料庫連結的
Gemfile
- 顯示這個網站需要的 gem
routes.rb
- http verb, url, parameters etc.
- 定義整個網站的路由
- 顯示你的網站支援的功能
MVC 架構
Model - 處理商業邏輯的地方
View - 顯示使用者介面
Controller - 處理外界送入的 http request,和 Model 互動,取得資料後輸出 View
CRUD
我們對資料最基本的四種操作方式:
Create - 新增
Read - 讀取
Update - 更新
Delete- 刪除
RESTful
- 路由設計方式
- 幫助我們用一種比較標準化的方式來命名跟組織Controllers和Actions
RESTful
-
/events/create
-
/events/show/1
-
/events/update/1
-
/events/destroy/1
Rails 把路由從這樣:
-
POST /events對應到Controller中的create action
-
GET /events/1對應到Controller中的show action
-
PATCH /events/1對應到Controller中的update action
-
DELETE /events/1對應到Controller中的destroy action
解讀成這樣:
HTTP
在HTTP通訊協定中制定了九種動詞(Verbs)來跟伺服器溝通,分別是HEAD、GET、POST、PUT、PATCH、DELETE、TRACE、OPTIONS、CONNECT。其中最常見的就是GET和POST:GET用來讀取資料,這個動作不應該造成任何資料變更,而POST用於送出資料。
Relational Database (RDBMS)
- 關聯性資料庫
- 今天我們用網路服務基本上就是在和資料庫做互動
- 使用 SQL 語言做資料搜尋
可是 SQL 很煩...
- 等於說是另外要學一個語言
- 資料表之間的關聯越複雜,下的 SQL 指令就越來越長,變得很噁心
所以 Active Record 就誕生了...
- 是 Rails 和 資料庫之間的溝通橋樑
- 會把資料表抽象化成 Ruby 的物件
- 所以開發者可以用 Ruby 語言操作資料庫
- yay! 不用煩惱 SQL 了!!!
課堂練習
課堂練習
Rails Model
- 處理商業邏輯和資料庫互動的地方
- 利用 ActiveRecord 操作資料庫
ActiveRecord
- Rails 裡面負責操作資料庫的元件
- 讓使用者能用Ruby 的語法,物件導向的概念操作資料庫
ntu_ror_261_lesson5
By Eugene Chang
ntu_ror_261_lesson5
- 775