記事を作成するにあたり
現在、私はアプリ作成を勉強中です。今回の記事は、MVCモデルの概要について、自分なりの概念を説明するとともに、あわせてアプリ作成をする上で気を付けるべき部分を共有すべく、記事を投稿します。
ルーティング
まさにルートを決めるということで、リクエストの内容から行先を決めます。特定のリクエストを受け取り、動作する処理を決めます。
root to: "prototypes#index"
M - モデル
データベースとのアクセス制御を中心に行います。DBへのアソシエーションやバリデーションの設定を行うことから、DB関連のエラーが発生する場合モデルを最初に確認すべきでしょう。
belongs_to :user
validates :text, presence: true
V - ビュー
文字通り、エンドユーザーへのレスポンスを表示します。画面の表示についてはHTML等の知識が必要です。
C - コントローラー
ルーティングにて指定されたアクション(処理)を行います。実際にアプリ等を実装する場合、コントローラーの制御や処理の記載が非常に多く、エラー解決においてはコントローラーへの処理や記載方法に誤りがある場合が多いです。
def edit
@prototype = Prototype.find〜
end
DB
各種データの保管先。特に注意すべきは各キー項目とテーブルとの関連性や、カラムのデータ保持の方法(null制約)等でしょうか。モデルを定義する際にあわせて意識することが多いです。
最後に
実際に機能や処理を実装する際、上記の役割を念頭におきながら手を動かすことで、より理解は深まります。またエラー発生時に上記のような役割が頭で理解できていると、原因特定の一助になるかと存じます。