見習いエンジニア(仮)の学び場

未経験からエンジニア転職を目指す男が、プログラミング学習で学んだことを分かりやすくアウトプットするためのブログです。

Railsで使われる「モデル」ってどういう意味?

モデルとは、テーブルの管理人のことです。

 

テーブルは、アプリケーションの中のデータをカテゴリーごとに分けたものです。

例えば、Twitterというアプリには、「ユーザー情報」「ツイート内容」「リプライ」といった複数のデータのカテゴリーが存在しますよね。

そのカテゴリー1つ1つのことをテーブルと呼んでいます。

 

テーブルは、ユーザーからのリクエストに応じて更新されたり、呼び出されたりしています。

この時にテーブルを動かしている人がモデルです。

 

モデルは、テーブル1つにつき1人存在しています。

各モデルは、自分が担当しているテーブルのデータが必要になったら、テーブルのデータを更新したり、コントローラーというユーザーに返信を返す役割の人に必要なデータを渡したりします。

 

ちなみに、モデル同士で手を組んで、それぞれが担当しているテーブルのデータを関連づけることもできます。

その関連付けのことをアソシエーションと呼び、1つの処理を実行するために2つ以上のテーブルのデータが必要な時に使用します。

 

また、テーブルにどのデータを入れるのかを記載している設計図のことをマイグレーションファイルと言います。

テーブルを新規作成するときは、このマイグレーションファイルを作成して、rails db:migrateというコマンドを実行する必要があります。

 

 

少し長くなりましたが、まとめるとこのようになります

 

モデル → テーブルのデータを動かす人。各テーブルに1人いる。

 

テーブル → データを分類分けした引き出しのようなもの。「このテーブルにはあのデータが入っている」と分かるように整理してある。

 

アソシエーション → 各テーブル同士のデータの関連付けを行うこと

 

マイグレーションファイル → テーブルにどのようなデータを入れるかを記述した設計図