上次我們快速做了一個超陽春的 Blog,但是只能讓大家稍微感受一下開發一個 Rails 專案要做的事情,其中許多細節沒有講解得很清楚,接下來幾天我們就來一一說明。
我們上網時,其實是瀏覽器將我們的請求送出給 Server,而一般上網使用的請求協定是 HTTP/HTTPS。HTTP 請求會有 URL 代表資源,還會有不同的 Method,會是一個動詞,表示要對資源做什麼。所以 HTTP 請求可以對 Server 上的資源做事情,一般常用的 Method 有 GET、POST、PATCH、PUT、和 DELETE,會對應到對於 Server 資源的讀取、新增、修改、刪除等動作。
在 config/routes.rb
中,可以設定
Rails.application.routes.draw do
get '/', to: 'application#index'
end
表示說我們希望 Server 收到 URL 是 /
的 GET 請求時,會使用 ApplicationController
的 index 方法來處理。而上次我們使用 resource
的寫法
Rails.application.routes.draw do
resources :articles
end
意思是我們要使用 Rails 預設的 Resource Routing
,會和 Controller 搭配,將對於 articles
這個資源相關的請求,對應到 ArticlesController
底下的 method,由相對應的 method 來處理請求。例如我們昨天用
bin/rails routes
印出的列表就是表示
GET /articles
對應 ArticlesController 的 method index
POST /articles
對應 ArticlesController 的 method create