0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MVCモデルを理解する。

Posted at

##始めに....。
・MVCモデルを理解したいので記事にしたいと思います。

#MVCモデルとは

~Model、View、Controllerに分割をしてコーディングを行うモデルのことを指す。~

役割
・Model --->システムの中でビジネスロジックを担当。

・View --->表示、入出力の処理を担当。

・Contoroller --->ユーザーの入力に基づき、ModelとViewを制御。

2E89D206-9F18-4665-9031-2A69F84B7835_4_5005_c.jpeg

*記事参考、図引用
(https://qiita.com/s_emoto/items/975cc38a3e0de462966a)

*上の図 MVCモデルの概念図
(出典:http://www.slideshare.net/MugeSo/mvc-14469802)

#MVCモデルの挙動
Railsチュートリアルをやった際に出てきた図をおさらいしたいと思います。

03B85BB6-D801-4D62-AB92-83E185F67522.png

「/users にあるindexページをブラウザで開く」という操作をしたとき、内部では何が起こっているかについてMVCで説明。

1.ブラウザから「/users」URLをリクエストし、サーバーに送信する。

2.「/users」リクエストはRailsのルーティング機構(ルーター)でUsersコントローラー内のindexアクションを割り当てる。

3.indexアクションが実行されるとUserモデルに問い合わせをする。

4.Userモデルは問い合わせに対して全てのユーザーをデータベースから取り出す。

5.データベースから取り出したユーザーの一覧をUserモデルからコントローラーに返す。

6.Usersコントローラーはユーザーの一覧を変数に保存しビューに渡す。

7.ビューが起動してERB(Embedded RuBy: ビューのHTMLに埋め込まれているRubyコード)を実行してHTMLを生成する。

8.コントローラーはビューで生成されたHTMLを受け取りブラウザに返す。

*記事、図 参考と引用
https://railstutorial.jp/chapters/toy_app?version=6.0#sec-mvc_in_action)

#MVCのメリット
・機能が分割され独立しているので変更や修正がしやすく、何かあったとしても影響が出にくい。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?