Railsで使われる「モデル」ってどういう意味?
モデルとは、テーブルの管理人のことです。
テーブルは、アプリケーションの中のデータをカテゴリーごとに分けたものです。
例えば、Twitterというアプリには、「ユーザー情報」「ツイート内容」「リプライ」といった複数のデータのカテゴリーが存在しますよね。
そのカテゴリー1つ1つのことをテーブルと呼んでいます。
テーブルは、ユーザーからのリクエストに応じて更新されたり、呼び出されたりしています。
この時にテーブルを動かしている人がモデルです。
モデルは、テーブル1つにつき1人存在しています。
各モデルは、自分が担当しているテーブルのデータが必要になったら、テーブルのデータを更新したり、コントローラーというユーザーに返信を返す役割の人に必要なデータを渡したりします。
ちなみに、モデル同士で手を組んで、それぞれが担当しているテーブルのデータを関連づけることもできます。
その関連付けのことをアソシエーションと呼び、1つの処理を実行するために2つ以上のテーブルのデータが必要な時に使用します。
また、テーブルにどのデータを入れるのかを記載している設計図のことをマイグレーションファイルと言います。
テーブルを新規作成するときは、このマイグレーションファイルを作成して、rails db:migrateというコマンドを実行する必要があります。
少し長くなりましたが、まとめるとこのようになります
モデル → テーブルのデータを動かす人。各テーブルに1人いる。
テーブル → データを分類分けした引き出しのようなもの。「このテーブルにはあのデータが入っている」と分かるように整理してある。
アソシエーション → 各テーブル同士のデータの関連付けを行うこと
マイグレーションファイル → テーブルにどのようなデータを入れるかを記述した設計図