railsアプリの作動する流れ(MVC)について簡単に掃除に例えて解説
前回のブログの続きはまたの機会にさせていただきたいと思いましたが、最終的にどこに行き着いたか話さないと今後このブログを書く上で背景がみえないので簡単に説明させて頂きます。知り合いに連れて行かれたDESSART&Co.という会社でプログラミングを勉強させていただくことになりました。主にエンジニアのtechnumaさんに指導をしていただいております。前回のブログでプログラミングの鬼に該当する方ですが実際はとても優しく、モチベーションを維持させることが上手い方なので講師として最高な素質を持っています。
教えていただいていること: HTML, CSS, Ruby, Ruby on Rails
technumaさんのプロフィール
身長:174cm
プログラミングレベル:鬼
technumaさんに教わったことを書かせていただくこともありますが、先に謝ります。
間違った情報を発信したら申し訳ありません!!
自分の言葉と理解で書きますので教わったこととズレが生じる可能性がありますので、そこは私の理解不足と捉えてくれたら幸いです。
早速ですがrailsアプリの流れについて説明したいと思います。
矢印で流れを表記すると書きの感じ(見づらいかな・・)
ブラウザ→ルーティング→コントローラ(⇔モデル⇔データベース)→ビュー→ブラウザ
まずブラウザからURL(リクエスト)を入力します。このURLがルーティングです。
その入力されたURLに応じてどのコントローラーでどういうアクションを作動させるか決まります。コントローラーはモデルにデータベース(情報の宝庫)からどの情報を取ってくるか指示を出します。モデルはデータベースから取ってきた情報をコントローラーに渡して、コントローラーはビューにブラウザから表示させるように指示を出します。
こういった流れなんですが、以下の掃除の例えで順を追っていきます。
ー 配役
社長 = クライアント+ルーティング
technumaさん = コントローラー
Mさん = モデル
ブライアン = ビュー
社長「ブライアンに雑巾で床掃除させておいて」
technuma さん「はい!」
社長からブライアンに雑巾で床掃除をさせるようにtechnumaさんに伝えています。ブライアンは直接社長から掃除するように命令されていません。technumaさんは倉庫(データベース)にある雑巾を持ってくるようにMさんに指示を出します。
technumaさん「Mさん、雑巾を持ってきてください」
Mさん「了解しました!!」
Mさんは倉庫から雑巾を持ってきてをtechnumaさんに渡しました。雑巾を手にしたtechnumaさん。
technumさん「ブライアン、この雑巾で床掃除しているところを社長にみせてあげてください」
ブライアン「わかりました!!」
ブライアンは社長の指示をtechnumaさんを通して雑巾で床を拭いています。社長はブライアンの床を掃除している姿をみています。
社長は次、どんな指示をtechnumaさんを通して(technumaさんはMさんを使って)ブライアンにするのかな??