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についての理解ができていることでしょう。
ぜひ最後までお読みください。
公開日:2016年7月3日
Rails modelとは?
まずはRailsのmodelとは何かについて解説します。
一言で言うと、Railsのmodelとは、「データベースとのやり取りを行うクラスのこと」です。
では、データベースとは何なのでしょうか?データベースとは、何らかのデータ(人物の情報や商品の情報など)を集め、データの操作や検索を行えるようにしたものです。
データベースはテーブルの集合でできています。テーブルとは、エクセルの表のように情報を縦横に並べたものです。(テーブルの列をカラム、行をレコードといいます)
以下の画像が、データベースのイメージです。
Railsのmodelは、データベースのテーブルに対応するRubyのクラスです。モデルクラスのインスタンスは、1つの行(レコード)を表すオブジェクトになり、テーブルの列(カラム)に相当する属性を持ちます。
例えば、商品情報のモデルクラスがあると、そのインスタンス(オブジェクト)は「商品名」や「価格」などの属性を持ちます。
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の使い方を思い出してください。
【入門のひとつ先へ】Ruby on Railsで基本の申し込みフォームを作ろう【現役エンジニアが実践的手法を徹底解説】
「Railsで確認画面"あり"のフォームを作ろう」といわれて具体的な作り方が頭に浮かばなかった方におすすめしたいです。より実践的な開発力を。頻出する各種inputタグの使い方、テストコード、メール送信、非同期処理も学習。Rails 7対応。
\無料でプレビューをチェック!/
講座を見てみる評価:★★★★★
ちょっとした質問にも非常にレスポンス早く、丁寧にご回答いただき大変貴重な機会となりました。Railsチュートリアルや基本的な書籍では、なかなか遭遇しない実務で実際に使用されるrailsのコードの書き方などを学べました。大変おすすめです。
評価:★★★★★
講義の内容は良かったです。
同じことを異なるケースで何パターンか実行する為、分かりやすく、やるべきことも一通り網羅されていると思います。
最新情報・キャンペーン情報発信中