今回はrailsにおけるMVCモデルについて説明したいと思います。
経験のないエンジニアにとっては非常にわかりにくい概念であると思います。図も使いながらなるべく理解できるよう努めます。
mvcモデルとは
model
、view
、controller
の3つに分けてコードを管理するものです。
それぞれの役割を簡潔に述べたのが以下です。
名前 | 役割 |
---|---|
model | データベースとのやり取り |
view | 画面表示 |
controller | modelとviewの制御 |
処理全体像
今回は動的な場合と静的な場合で分けてみました。
動的・静的とは何だ?となっている方はこちらのサイトを見てみてください。
図を見ると動的・静的がわかりやすいと思います。
処理を順に追う
でははじめから順に処理を追っていきたいと思います。
コントローラーにたどり着くまで
まずユーザーが見たいページのURLの入力をします。
URLはまず受付係であるroutes.rbのところにいきます。
ここでroutes.rbが行くべきcontrollerとcontroller内のアクションを指定してくれます。
コントローラー
コントローラーのアクションには処理が書いてあり、それ通りに処理を行います。
ここで運命の分かれ道があります。
ページが動的か静的かによって次の行き先が違います。
ページ動的な場合すなわちデータベースからの情報取得を必要とする場合次の目的地はmodelとなります。
静的なページの場合の次の目的地はviewになります。
モデル
モデルはDBとの仲介役です。
DBにほしいデータを伝えてDBからデータを返してもらいます。
再びコントローラー
ほしいDBのデータが取れたので今度は画面表示の内容をもらえるようにviewに依頼します。
ビュー
ビューではコントローラーの依頼を受けて画面表示の内容を返します。
最後に
さまざまなフレームワークにおいてmvcモデルは使われています。
ファイルの構造などは少し違えど、大きな流れとしては同じであると思うのでこれを理解できるとプラスに働くかと思います。
こちらの記事は先輩に当たる方の記事ですが参考になりますのでよろしければどうぞ。
ここまで読んでいただきありがとうございます。
参考