こんにちは、Shinyaです
当ブログでは、プログラミング初心者が抱きがちな
「Ruby on Railsっていうフレームワークって何なの?」
という疑問を解消すべく、複数回に分けてRuby on Railsの概要を何よりも分かりやすくお伝えしていきます
Ruby on Railsを全く知らない人にも分かるように記事を作っております
今回はRuby on Railsの概要紹介第一弾として「モデル」についてざっくりとお伝えしていきます
1.モデルとはMVCのMのこと

まずモデルの中身を見る前に、Ruby on Railsにおけるモデルの位置づけを見ます
詳しくは別記事で紹介しますがRuby on RailsはMVC型の構造になっています
分かりやすく説明とか言っておいて、いきなりMVCとかいう謎の言葉を出してごめんなさい(笑)
簡単な話なのでついてきてくださいね
「MVC」とは、
- モデル(M)
- ビュー(V)
- コントローラー(C)
という3要素のことをまとめて指す言葉です
Ruby on Railsはこの3要素が連携することで機能しています(←これだけ分かってくれればOK)
今回焦点を当てる「モデル」はこのMVCのMに当たります
ビューとコントローラーは今はどうでもいいので無視してください
1章のまとめ
モデルとはRuby on Railsを構成するMVC3要素のMのこと
2.で、モデルって何なん?
それではモデルの中身を見ていきましょう!
早速結論を言います。モデルは「もの」を表す機能です
「もの」は何でもいいです。例えば
- ユーザー
- つぶやき
- 画像
- パン
- 犬
- 車
- 山
これは全部モデルで表現できます
2章のまとめ
モデルは「もの」を表す
3.どうやって「もの」を表現するのか?
「モデルで「もの」を表現するって言われても分からん!」って感じですよね
それではその方法を見ていきましょう
モデルには任意の情報の項目を設定できます。情報項目を設定することで「もの」を表現します
例で見ていきましょう
例1:ユーザーのモデル
項目1 | 項目2 | 項目3 | 項目4 |
氏名 | 性別 | 年齢 | メアド |
例2:パンのモデル
項目1 | 項目2 | 項目3 | 項目4 |
名前 | 価格 | 販売店 | 味 |
例3:地震のモデル
項目1 | 項目2 | 項目3 | 項目4 | 項目5 |
呼称 | 発生時刻 | 震度 | 死者数 | 被害総額 |
こんな感じでモデルを表す情報項目を設定することで「もの」を表現できます
項目の決め方に決まりはありません。モデルの用途に応じて必要な項目を入れます
3章のまとめ
モデルを表す情報項目を設定することで「もの」を表現する
4.モデルの役割
「モデルがいくつかの情報を持つことで「もの」を表現することは分かった。だけど、作ったモデルはどう使うんだ?」という疑問が生まれると思います
答えから言うと、モデルからレコードを作ってデータベースと連携させて使う場合が多いです
(正確には「データベースと連携してレコードを作る」ですが説明のしやすさを考えて上のように表現しました)
ちょっと難しそうですね。でも分かりやすく説明します
まず「レコードを作る」という部分を見ていきましょう
ユーザーの例を出します。これはユーザーのモデルです
項目1 | 項目2 | 項目3 | 項目4 |
氏名 | 性別 | 年齢 | メアド |
このユーザーのモデルには4項目あります
この4項目を持つ個別のユーザーのデータをレコードと呼びます。具体的には
氏名 | 性別 | 年齢 | メアド | |
レコード1 | 田中次郎 | 32 | 男 | tanaka@t.com |
レコード2 | 鈴木梅子 | 76 | 女 | ume@szk.com |
レコード3 | ... |
といった感じです。モデルからはレコードをいくらでも作れます
モデルは一般のもの、レコードは固有のものという認識もできます
次に「データベースと連携する」というところを見ましょう
モデルからレコードが沢山作れることは分かりました。ではレコードはどこに保管して管理するのでしょうか?
その答えがデータベースです

MVCと違い、データベースはRuby on Railsの外部要素ですが、モデルと連携することができます
そして、データベースにはモデルごとに「テーブル」を作成できます
ユーザーモデルに対しては「ユーザーテーブル」を作るといった感じです
このテーブルですが、実は先ほど見せた表のことです。これです↓
氏名 | 性別 | 年齢 | メアド |
田中次郎 | 32 | 男 | tanaka@t.com |
鈴木梅子 | 76 | 女 | ume@szk.com |
... |
このように、モデルから作られたレコードを表形式で記録したものを「テーブル」と呼びます
4章のまとめ
モデルの大きな役割はテーブル(データ群)を作ること
Railsはテーブル内容をブラウザから変更できる仕組み
モデルのイメージをざっくりと掴めたでしょうか?
最後に話をRuby on Railsに戻します
実は多くのWebサービスはテーブルのレコードをブラウザから新たに増やしたり、減らしたり、書き換えたり、表示したりすることで成立しています
(いまいち想像できないかもしれませんが、問題ないですのでご安心を)
そして、それこそがRuby on Railsの仕組みです
ただし、ブラウザからデータベースに対する処理をするにはMVCの「V」と「C」が必要なのでモデルだけでは不可能です
というわけで次回以降は Ruby on Railsの「V」と「C」について解説していきます!
それでは、また !少しずつ理解しましょうね