Ruby on Rails ~MVC~

 Ruby on Railsフレームワークとで、Rubyを使用しWebアプリケーションの枠組みを作ることが出来ます。扱うためにはMVCの考え方が必須になります。

 

MVCとは?

 

それぞれの頭文字をとってMVCと呼んでいます

 

M:Model(モデル)

Modelの主な役割は、データベースを管理する事です。コントローラーからの指示に従い必要なデータを取得してコントローラーへ返します。データの取得だけではなく、コントローラーからの命令によっては、データを更新や削除します。Modelの主な役割はデータベースの管理ですが、データの検証(バリデーション)やテーブルとの関連付けなど細かい処理もModelの役割です。

V:View(ビュー)

Viewの役割は、最終的な出力の描画を担当することです。静的なページだけではなく、コントローラーから受け取ったデータを表示させることも可能です。

また、フォームなどでユーザーに名前やコメントなど必要な情報を入力させてコントローラーに渡すことによってデータベースに送信することも出来ます。

C:Controllera(コントローラー)

Controllerの役割は、ViewとModelを繋ぐことです。

Controllerでは、データの表示はViewに、ロジックの実行はModelに切り分けます。ロジック部分をModelに書かずにControllerに書く事は出来ますが、その様なコードを書くとファットコントローラーと呼ばれ、コードが管理しづらい状態になります

ルーティング

URLとアプリケーションを結びつける役割を担っています。MVCに辿る道筋を設定する場所というイメージです。

 

f:id:natori_gorira:20200525232513p:plain

簡易的なイメージです

 

MVCはそれぞれをちゃんと説明すると深い話になるんで、機会がある時にまた掲載したいと思います。