Rails 請求與回應

Q: 當我點擊了一個部落格的所有文章頁面(posts)時,能告訴我這中間做了什麼嗎?

A: 當點擊所有文章按鈕後,便會對 URL/posts 發出 GET 請求,而此時 Web Server(常見 Apache, Nginx)收到請求後, Rails 會根據 Routes 中的 URL/controller mapping 執行相對應的 controller action,這裡來說便是 “posts#index”。

controller 裡的 index 會調用 Post.all,這裡的 Post model 便會從資料庫撈取文章的集合,而該集合會被 assign 給一個實體變數(常見 @posts)。

@posts = Post.all

最後 views 可以使用這個實體變數(@posts),渲染(render)出所有文章的資料畫面並加以美化後,呈現在用戶端的頁面上。