2013-04-27 14:11

Modelクラスの自動生成

モデルとは?

Railsにおけるモデルとは、アプリケーションで使われるデータをデータベースに格納したり、取り出す操作を担うクラス群です。

大抵のModelクラスはRailsに用意されているActiveRecordを継承して作られると思われます。
ActiveRecordを使うことでSQLを直接記入することなくデータベースを扱うことができるし、「MySQLを使う」とか「SQLite」を使うとかによる違いを吸収してくれる(例外もある)。

もう少し平たく説明すると、Modelクラスというテーブルを作って、そのModelクラスに対してメソッドを実行することによってテーブルのデータをアレコレすることができる。
使用するデータベースを意識することなく、です。

よくわからなければ、Modelクラス=テーブルと思っていれば大丈夫かな。

こんな風に読み替えることもできるみたいだし。

ActiveRecordの用語  DBの用語 
Modelクラス  テーブル 
Modelオブジェクト  レコード 
属性  カラム 
(DBから)ロード  検索 
生成・保存  追加 
変更・保存  更新 
削除  削除 
関連  関連 

Modelクラスを自動生成する

rails generate model モデル名 [フィールド名:データ型] [オプション]

'['と']'で囲われた部分は省略可能です。
データ型についてはこちら ⇒ マイグレーションのデータ型

例えばこんな感じ。
Articleモデルを生成します。

ターミナル
$ rails generate model article

命名規則に従って、モデル名は

  1. 頭文字は小文字
  2. 単数形

にしてください。
命名規則についてはこちら ⇒ Railsの命名規則

rails generate modelによって、

  • app/models/ article.rbモデル本体
  • db/migrate/ ##############_create_articles.rbマイグレーションファイル
  • test/fixtures/ articles.ymlテストデータの投入する為のフィクスチャファイル
  • test/unit/ article_test.rbモデルクラスをテストする為のスクリプト

が生成され、これらに実装していきます。

##############の部分には作成の日時を表す数値が入ります。

続きは次回 ⇒ Modelクラスに属性を設定する