#はじめに
簡単に説明すると、自分が指定したページ(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とコントローラーのアクションを結びつける(=処理を割り振っている)役割。
get "home/top" => "home#top"
#"URL" => "コントローラー#アクション"
###MVCとルーティングの関係を図にしたもの
これまでの情報をまとめた図
##まとめ
初めてRailsを触った時、ファイルを管理する数が多く頭が混乱してしまいました。今後の勉強では上記のMVCとルーティングを意識して書いていくことで、理解を深めていきます。