LoginSignup
0
0

More than 3 years have passed since last update.

Ruby on Rails 〜MVCとルーターの基礎〜

Posted at

はじめに

本記事では、MVC(Model(モデル)、View(ビュー),Controller(コントローラー)とRouter(ルーター)の関連を確認しながら、用語について解説していきます。

Router(ルーター)とは

RouterはHTTPリクエストがあったURLに対して、アプリケーション内のどの機能を結びつけるを決める役割を果たします。そして次に説明するControllerに1つのメソッドを割り当てます。

Controller(コントローラー)

"Controller"はMVCパターンの司令塔的役割を果たします。
これは、ユーザから送られてきたHTTPリクエストの処理を担当します。そのHTTPリクエストはRouterからControllerの1つメソッドと結びつきます。
そしてControllerはHTTPリクエストに対応したModelの作成や取得、取得した値をViewに渡して処理を行わせる、というようなことを行います。
つまりModelやViewに命令を出すことがControllerの仕事です。

Model(モデル)

"Model"はデータとやりとりをしてくれる存在です。
Controllerからの命令に従い、データベースから情報を取得したり、データを更新したり、書き込んだり、データを消去したりします。
データベースと直接やりとりできるのはModelだけです。

View(ビュー)

ViewではControllerから渡されたデータを、HTMLページでどのように表示するかを定義します。最終的にHTTPレスポンスとして返すWebページです。
Viewでは見た目の部分だけでなく、Controllerによって選択された適切なModelが埋め込まれます。

まとめ

これを一連の流れにしてまとめます。
RouterはHTTPリクエストを受け取り、適切なアクションとひも付けます。
Controllerはそのアクションを実行してModelやVeiwに指示を出して、ViewをHTTPレスポンスとして返すと行ったところでしょうか。

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