LoginSignup
21
31

More than 5 years have passed since last update.

Railsの一連の流れをMVC,ルーティングの観点からまとめてみた

Posted at

はじめに

簡単に説明すると、自分が指定したページ(URL)はブラウザに表示されるまでに、ルーティング→コントローラー(C)→モデル(M)→ビュー(V)という順で処理が行われている。モデルは必要な時にだけ処理がされるため、必要でない時はとばす。※MVCは上記の頭文字

MVC(Model・View・Controller)とルーティング

Ruby on RailsはMVCアーキテクチャ※に基づいて3つの部分で構成されている。
※アーキテクチャ=基本設計や設計思想

M:Model

データベースを操作する仕組み
Controllerからデータの追加や変更・削除の指示を受け実行する。
データベースのテーブルごとにModelが用意されている。
データベースのテーブルはモデルクラスとモデルクラスから生成されたインスタンスによって作られている。

V:View

ユーザ-に見せるインターフェイスのデザイン(ページの見た目)
app/views (アプリケーションのメインフォルダのビューフォルダに置かれる)
Viewは通常複数用意されていて、それぞれHTMLのような形になっている。そこにはRubyのコードが埋め込んであり、要求されたアクションに応じて該当のHTMLにControllerがModelから受け取ったデータを反映し、HTMLを生成する。

C:Controller

ユーザーリクエストをModelやViewと連携させる仕組み
app/controllers (アプリケーションのメインフォルダのコントローラフォルダに置かれる)
ユーザーからのリクエストを受けModelから必要な情報を受け取り、Viewによって生成されたHTMLを画面に反映させる。
ModelとViewに指示を出す司令塔のような役割。
Viewと同じく複数用意されていて、さらに1つのControllerの中に複数のアクションが用意されている。

コントローラーの中のメソッドを「アクション」と呼ぶ。
ユーザーからのリクエストに対して具体的な処理を実行するためのメソッド。

ルーティング

URLとアプリケーションを結びつける仕組み
config/routes.rb (コンフィグフォルダのルーツファイルに置かれる)
ユーザーがブラウザを経由してアクセスしたURLとコントローラーのアクションを結びつける(=処理を割り振っている)役割。

【例】routes.rb
get "home/top" => "home#top"
    #"URL" => "コントローラー#アクション"

MVCとルーティングの関係を図にしたもの

これまでの情報をまとめた図

20171002113638.png

まとめ

初めてRailsを触った時、ファイルを管理する数が多く頭が混乱してしまいました。今後の勉強では上記のMVCとルーティングを意識して書いていくことで、理解を深めていきます。

21
31
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
21
31