👻

[Rails] MVC Model / View / Model

2021/04/30に公開

アプリケーションをモデル、ビュー、コントローラに別けて作り上げることをMVCアーキテクチャという

■ Model
モデル名は単数系で命名する
アプリケーションにおいてデータを扱う部分
データベースの情報を操作(追加、編集、削除など)するメソッドを定義する
・検証機能:validates
・アソシエーション:has_many, belongs_to, has_one
・DBのデータを扱うメソッド:follow, following?, lesson_taken

■ View
アプリケーションにおいてユーザに見える結果を作る部分
変数を介して渡されたデータを使ってHTML文書を作成しコントローラへ返す

■ Controller
ユーザからの要求を処理し、モデルやビューとの連携を行う部分
利用者がブラウザ経由でRailsアプリケーションにリクエストを送信するとそのリクエストをもとにどのコントローラに含まれるアクションを実行するかを「routes.rb」のルーティングが判断して、コントローラが該当のアクションを実行する
・アクションの定義:index, show, create, new
・viewで使うメソッドや変数の定義:@user=User.new, user_sighned_in?

■参考
https://www.javadrive.jp/rails/ini/index7.html

Discussion