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を使うと、直感的で記述しやすいコードでデータベースを扱うことができます。
\21万以上のオンラインコースから選べる!/
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の使い方を思い出してください。
最新情報・キャンペーン情報発信中