Railsのmodelを徹底解説!知っておくべき3つの知識も紹介

Railsのmodelを徹底解説!知っておくべき3つの知識も紹介

Ruby on Rails(以下Rails)のmodel(モデル)についてRails初心者の人でも理解できるように解説していきます。

Railsは、MVCアーキテクチャに基づいて3つの部分で構成されています。「MVC」の「M」がmodelです。

フレームワークであるRailsを使ってWEBアプリケーションなどを開発する時には、必ずmodelを使用することになるでしょう。では、Railsのmodelとはどのようなものなのでしょうか?

本記事では、Railsのmodelの役割をまず解説します。

そして、modelの作成方法・modelの命名規約・modelの削除方法の3つについて具体的なソースコードを用いて解説してます。

本記事を読み終えた頃には、Rails初心者でもmodelについての理解ができていることでしょう。

ぜひ最後までお読みください。

Rails modelとは?

まずはRailsのmodelとは何かについて解説します。

一言で言うと、Railsのmodelとは、「データベースとのやり取りを行うクラスのこと」です。

では、データベースとは何なのでしょうか?データベースとは、何らかのデータ(人物の情報や商品の情報など)を集め、データの操作や検索を行えるようにしたものです。

データベースはテーブルの集合でできています。テーブルとは、エクセルの表のように情報を縦横に並べたものです。(テーブルの列をカラム、行をレコードといいます)

以下の画像が、データベースのイメージです。

データベースのイメージ画像

Railsのmodelは、データベースのテーブルに対応するRubyのクラスです。モデルクラスのインスタンスは、1つの行(レコード)を表すオブジェクトになり、テーブルの列(カラム)に相当する属性を持ちます。

例えば、商品情報のモデルクラスがあると、そのインスタンス(オブジェクト)は「商品名」や「価格」などの属性を持ちます。

Rails model解説画像

Rails modelの役割が理解できましたか?Rails modelを使うと、直感的で記述しやすいコードでデータベースを扱うことができます。

 

\文字より動画で学びたいあなたへ/

Udemyで講座を探す >

Rails modelの作成方法

ここでは、Railsでmodelを作成する方法を解説します。

本記事では、例として、サッカーチームの会員情報をmembersテーブルで管理することにし、そのmembersテーブルに対応するMemberモデルを作成してみます。

※Railsではmodelに対応するデータベースのテーブル名はmembersのように複数形になります。

Railsでmodelを作成するには、ターミナルから「rails generate」コマンドを実行します。

※「rails generate」は「rails g」と省略可能です。以下からは「rails g」を使います。

「rails g model モデル名」でmodelを作成できます。

【Rails modelの作成コマンド】

rails g model モデル名

【Memberモデルを作成する場合】

rails g model Member

上記のコマンドを実行すると、app/modelsフォルダに、「モデル名.rb」というファイルが作成されます。

Memberモデルでは、「member.rb」となります。modelに関するソースコードはこのファイルに記述します。

 

Rails modelの命名規約

ここで、モデル名の命名の仕方に注意する必要があります。

先ほど述べた通り、Railsでは、modelに対応するデータベースのテーブル名はmembersのように複数形になります。

しかし、modelのクラス名は、Memberのように頭が大文字の単数形になります。

また、modelを作成する時は、「rails g model member」のようにmemberを小文字始めても大丈夫です。

また、例えばmember_imageと指定してもMemberImageとしても、MemberImageモデル(テーブル名はmember_images)が作成されます。

ただし、membersのように複数形にすることは厳禁です。Membersモデルが作成されてしまいます。modelは必ず単数形で作成しましょう。

【Rails modelの命名規約】

rails g model Member

rails g model member

rails g model Members ×

rails g model members ×

modelは必ず単数形で作成する

modelに関する命名規約は非常に重要なので、必ず覚えておきましょう。

 

Rails modelの削除方法

名前などを間違えてmodelを作成してしまった場合、そのmodelを削除して新たなmodelを作り直したいですよね?

そんな時に必要となる、Rails modelの削除方法を紹介します。

Railsでmodelを削除するには、ターミナルから「rails destroy model 削除したいモデル名」コマンドを実行してmodelを削除できます。

【Rails modelの削除コマンド】

rails destroy model 削除したいモデル名

【Memberモデルを削除する場合】

rails destroy model Member

これでmodelを削除することができます。間違ってmodelを作成してしまった時はこのコマンドでmodelを削除しましょう。

 

いかがでしたか?Rails modelが理解できましたか?

Railsで開発をする時は必ずと言っていいほどmodelを使ってデータベースとのやり取りをすることになります。Rails modelの使い方を忘れた時は、またこの記事でmodelの使い方を思い出してください。