LoginSignup
0
0

【rails】railsにおけるMVCモデルが誰でもわかるように説明

Last updated at Posted at 2024-06-14

今回はrailsにおけるMVCモデルについて説明したいと思います。
経験のないエンジニアにとっては非常にわかりにくい概念であると思います。図も使いながらなるべく理解できるよう努めます。

mvcモデルとは

modelviewcontrollerの3つに分けてコードを管理するものです。
それぞれの役割を簡潔に述べたのが以下です。

名前 役割
model データベースとのやり取り
view 画面表示
controller modelとviewの制御

処理全体像

今回は動的な場合と静的な場合で分けてみました。
動的・静的とは何だ?となっている方はこちらのサイトを見てみてください。
図を見ると動的・静的がわかりやすいと思います。
スクリーンショット 2024-05-22 17.35.21.png

スクリーンショット 2024-05-22 17.39.27.png

処理を順に追う

でははじめから順に処理を追っていきたいと思います。

コントローラーにたどり着くまで

まずユーザーが見たいページのURLの入力をします。
URLはまず受付係であるroutes.rbのところにいきます。

ここでroutes.rbが行くべきcontrollerとcontroller内のアクションを指定してくれます。

コントローラー

コントローラーのアクションには処理が書いてあり、それ通りに処理を行います。
ここで運命の分かれ道があります。

ページが動的か静的かによって次の行き先が違います。
ページ動的な場合すなわちデータベースからの情報取得を必要とする場合次の目的地はmodelとなります。
静的なページの場合の次の目的地はviewになります。

モデル

モデルはDBとの仲介役です。
DBにほしいデータを伝えてDBからデータを返してもらいます。
スクリーンショット 2024-05-24 10.17.27.png

再びコントローラー

ほしいDBのデータが取れたので今度は画面表示の内容をもらえるようにviewに依頼します。

ビュー

ビューではコントローラーの依頼を受けて画面表示の内容を返します。
スクリーンショット 2024-05-24 10.19.39.png

こうして見たかったページの内容が揃うと表示されます。

最後に

さまざまなフレームワークにおいてmvcモデルは使われています。
ファイルの構造などは少し違えど、大きな流れとしては同じであると思うのでこれを理解できるとプラスに働くかと思います。
こちらの記事は先輩に当たる方の記事ですが参考になりますのでよろしければどうぞ。

ここまで読んでいただきありがとうございます。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0