#MVCとは
モデル(Model)、ビー(View)、コントローラー(Controller)の頭文字をとってMVCという。
Railsでは、MVC+ルーターに役割が別れる。
####なぜ必要なの?
M/V/Cに分割することで、効率的に開発、保守することが可能になる。
MVCについて理解せず場当たり的に開発してしまうと、ディレクトリ構造がぐちゃぐちゃなってしまいがち。その結果、チーム開発や保守がしづらくなってしまう。
#コントローラー
司令塔、MVCの中心的存在。
コントローラーを中心にMVCを覚えると分かりやすい。
####役割
ユーザーの入力を元に、モデルとビューに命令を出す
ユーザー、モデル、ビューの橋渡し的存在。
####ファイル
- 場所:
/app/controllers/[コントローラー名]_controller.rb
- 名前:
[コントローラー名]_controller.rb
とする - リソース毎にファイルが存在する。1
#モデル
データベースを取り扱う。
データの追加、更新、削除を行う。
####ファイル
- 場所:
/app/models/[モデル名].rb
- リソース毎にファイルが存在する。1
#ビュー
お客さんへの対応窓口みたいなもの。
####役割
Webブラウザに表示するHTMLを動的に生成する。
####ファイル
/app/views/[]
#ルーター
コントローラーを補助する秘書のようなもの。
####役割
役割としてはコントローラーの一部。
HTTPリクエストを読み取って、コントローラーへ処理を振り分ける。
####ファイル
- 場所:
/config/routes.rb
- ファイルはひとつ。
#参考にしたサイト
https://rails-study.net/mvc-r/#i-4
https://www.geekly.co.jp/column/cat-technology/1911_040/