ページ

2020年2月4日火曜日

【Rails】"MVC"ってなに?改めて仕組みを説明!

●"MVC"ってなに?


MVCはRuby on Railsでも採用されているプログラミングのアプローチの一つです。
もっと噛み砕いて言うと、、、
「M(モデル)、V(ビュー)、C(コントローラー)の3つに大きく役割を分けて開発を行う設計パターン」です。

●それぞれの役割


M(モデル)・・Modelの略。モデルはデータベースとのやり取りを任されています。
アソシエーション(has_manyとかbelongs_toとか)やバリデーション(null:falseとか)などを記述しています。
データベースから取得してきた値に手を加えたり、テーブル同士の関係やレコード検索条件、データを保存する前にするメソッドなどを定義します。

V(ビュー)・・Viewの略。リクエストを送ってきたクライアントへのレスポンスです。
「このページが見たい!」とクリックして表示される画面ですね。

C(コントローラー)・・Controllerの略。リクエストに対するレスポンスを「返す」作業や、そのレスポンスに必要なデータをデータベースから取ってきてもらうようにモデルへお願いする「中間管理職」みたいな役割を担っています。
あくまでも、ビューを返す「だけ」、データを取ってきてもらう「だけ」です。

●ルーティング


MVCは、モデル(M)、ビュー(V)、コントローラー(C)のそれぞれの頭文字を取っていますが、加えて「ルーティング」についても触れておきます。

●ルーティングとは?


ルーティングは送られてきたリクエストが「どのコントローラーの何アクションに送られるか」を決めるものです。
routes.rbに記述します。
こんな感じで。
resources :items do
resources :comments, only: [:create, :destroy]
end

●まとめ

これを理解しておくことで、プログラミング初心者の方は処理の動きが見えてきて、理解が深まると思います。
また、エラーがおきた時に、今のエラーがどこで起きていてどこが問題なのかを判断する時の思考の手助けにもなるかと思います。



0 件のコメント:

コメントを投稿