Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

[Rails]MVCについて自分の言葉でまとめてみる

先日、RailsのMVCについて説明する機会があったときに、
(緊張も相まって)全く日本語にならず、
「言語化できないって理解してるつもりでも理解できてないってことだな」
と猛反省したので、全くRailsを知らない人にも伝わるように、改めてまとめてみることにしました。
誤っている部分などありましたらご指摘いただけますと幸いです。

MVCとは

Model / View / Controller の頭文字をとってMVCです。
Railsなど、Webアプリケーションを作るときに使うフレームワークの多くが、
このMVCの構造によって成り立っています。

Modelとは

そのアプリケーションのデータベースの窓口のようなものです。
基本的にはデータベースの各テーブルに一つあって、データベースとのやりとりをしてくれます。

Viewとは

Webアプリケーションの見た目の部分です。

Controllerとは

アプリケーションがどう動くかをここで決めています。
(ほとんどが)各Modelに紐づいていて、そのModelにまつわる動きをコントロールしています。

動きをコントロール:Modelにお願いしてデータをとってきたり、そのデータを反映させたviewを返したりしています。

Routerとは

いきなり出てきましたが、こちらもアプリケーションにとって大切な役割を担っています。
クライアントから渡ってきた、URLとHTTPメソッドから、どのControllerのどのActionを取るか、という指示を出している、案内板みたいなものです。

ざっくりまとめると

  • クライアントからあったリクエストに応じて、
  • Routerが「こっちのControllerのこのActionを動かすんだよー」と指示。
  • Routerから指示があったControllerが指示されたActionをする。 (Modelを介してデータをやりとりしたり、Viewにデータを渡したり)
  • ControllerがActionした結果を、人に見やすい形でViewで表現する。

参考

Railsガイド

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?