36
36

More than 3 years have passed since last update.

【初心者向け】MVCの全体像をざっくり理解する

Last updated at Posted at 2021-02-19

概要

MVCとは、モデル(データを扱う部分)・ビュー(ユーザーインターフェイス)・コントローラー(ユーザーからの要求を処理し、モデルとビューへの命令に変換する)の3つを頭文字にとったものです。

MVCを理解するには、実際にRailsで一通りコードを書いて流れをつかむことで理解できます。

ですが、コードを書く前にMVCがどんなものか簡単でいいので雰囲気をつかむために、本記事を執筆しました。

他にもプログラミング学習に役立つような情報を発信しています!
アカウントをフォローしてお待ちください!

リクエストとレスポンス

ユーザーがブラウザからウェブサイトにアクセスしたとき、ブラウザからリクエストがWebサーバーに送信されます。Webサーバーは送信されたリクエストに対応するレスポンスをクライアント側のブラウザに送信します。これが基本的なウェブサイトの仕組みです。

image

ルーティングとコントローラー

リクエストに対応するレスポンスを返すためにRailsでは、ルーティング・コントローラー・ビューという順番で処理を行います。

ユーザーからのリクエストはURLとして届きます。届いたURLから、どのコントローラーのどのアクションを実行するか判断するのがルーティングになります。ファイル名でいうと、config/routes.rbにあたります。

image

モデル

リクエストが保存しているデータを取得したいときや、新しいデータを保存したいとき、データベースとのやり取りが発生します。ユーザーから呼び出されたアクションは、モデルを介して、データベースとのやり取りを行い、データを取得したり新しいデータを保存したりします。

image

Railsでは、データベースのテーブル毎にモデルが用意されています。

ビュー

モデルを介して取得したデータをビューに渡します。ビューは渡されたデータを使ってHTMLを作成しコントローラーに返します。HTMLを受け取ったコントローラーはそのデータをブラウザに返します。

image

以上がRailsアプリケーションがリクエストを受けた時の処理の流れです。MVCがどんなものか雰囲気は掴めたと思います。次のパートから実際にコードを書いていくので、その際に少しづつMVCを理解して行きましょう。

本記事はTechpitの教材【Ruby on Rails 6】Instagram風簡易SNSアプリを作ってみよう!を一部修正したものです。

36
36
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
36
36