LoginSignup
1
0

More than 5 years have passed since last update.

RailsにおけるMVC

Last updated at Posted at 2019-04-25

MVCとは

UI(ユーザーインターフェース)を持つソフトウェアのアーキテクチャの1つ。
簡単に言うとUIを作るための構造の1つである。
M(Model)、V(View)、C(Controller)の3つから構成されており3つに役割を分けた構造をすることで管理しやすくしている。Railsはこのアーキテクチャを使用している。

M(Model)

Modelはデータとデータに関わる処理をオブジェクトとして実装したもの。

V(View)

クライアントがサーバーに対してリクエストして、サーバーはレスポンスを返す。このレスポンスの中身を組み立てているのがViewである。ViewにControllerがModelのオブジェクトを埋め込みデータベースの情報を表示させている。

C(Controller)

Controllerはクライアントからのリクエストを解析し、リクエストに応じたレスポンスを返すように制御する。

実際のMVCの流れ

  1. コントローラ層でブラウザなどのクライアントが送るリクエスト先のURLやVerb(GET、POST...)などをもとに、どのコントローラのどのアクションの処理が対応するのかを決める。
  2. アクションは必要に応じてModelを利用しデータベースのデータの読み出しや書き込みを行う。 例えば、特定の記事の詳細(ここではPostというModel)を表示したい場合、showアクションが該当するアクションだとすると、showアクションでは、PostオブジェクトをPostクラスから取得する。
  3. アクションごとにViewテンプレートが用意されており、このテンプレートを用いてHTMLを生成する。 ここでは2でオブジェクトの取得をした場合、HTMLにその情報を埋め込む。
  4. 最後にコントローラがレスポンスを作成し、Webサーバーを介してクライアントへ返す。

最後に

Railsを使いこなせるようになるためにはまずは、MVCの理解は不可欠である。
いろいろな記事を見て理解してもらえたらと思う。
もし、間違っている点がありましたらご指摘お願いします。

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