Ruby on Rails

「Ruby on Railsって何だよ」の解決記事【1.モデルとは】

更新日:

こんにちは、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」について解説していきます!

それでは、また !少しずつ理解しましょうね

-Ruby on Rails
-

Copyright© 初心者のためのプログラミング独学ブログ , 2020 All Rights Reserved Powered by STINGER.