【Rails】リクエスト/レスポンス処理の流れ(MVC)
Webブラウザでページをクリックして、そのページが表示されるまでの流れをご説明します。
まず、大まかな全体像はこちら↓
次に1つずつ、どのような処理がされているのかを細かく見ていきます。
具体的な例えがある方がわかりやすいので、「ブログアプリの記事一覧を見たい」としましょう。
①WebブラウザからWebサーバーにHTTPリクエストが送られる
②Webサーバーはルーターに/articles/index
のGETリクエストを伝える
③ルーターはarticlesコントローラにindexアクションを呼び出すよう伝える
④articlesコントローラはindexアクションを呼び出す際に、indexアクションの中のArticle.all
(記事の全データ)を呼び出すため、Articleモデルに要求
⑤ArticleモデルはデータベースにArticle.all
のデータを要求する
⑥データベースは要求されたデータを探し、モデルに返す
⑦モデルは返ってきたデータをコントローラに渡す
⑧コントローラは受け取ったデータをインスタンス変数に代入し、ビューで使用できるようにする
⑨ビューは受け取ったインスタンス変数等を元に、HTMLを作成し、コントローラに返す
⑩出来上がったHTMLをWebサーバーに返す
⑪Webサーバーは受け取った情報をWebブラウザに返し、WebブラウザがHTMLを人が見えるように変換して表示してくれる
■参考にした記事
DIVE INTO CODE | Railsの処理の流れを理解しよう
Rails開発者が採用面接で聞かれる想定Q&A 53問(翻訳)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社