未経験からのRuby on Rails|モデル

モデルとは

モデルは、アプリケーションのコントローラーとデータベースの橋渡しを担当します。

アプリケーションで使用するデータを操作するための機能を簡単に使用できます。

モデルの作成

Ruby on Rails には CLI ベースでモデルを作成する機能が存在します。

開発効率が格段に上がるのでこれを使っていきましょう。

rails g model モデル名 or rails generate model モデル名

モデル名は、先頭英数字大文字の単数系で作成してください。

rails g model Book or rails generate model Book

以下ファイルが作成されるかと思います。

  • マイグレーションファイル
    テーブルデータの初期化の際に参照するファイル
    パス: db/migrate/作成日時_create_books.rb
  • モデルクラス
    パス: app/models/book.rb
  • モデルクラスのテストコード
    パス: test/models/book_test.rb
  • テストデータ作成用のひな型
    test/fixtures/books.yml

テーブルデータを定義

テーブルデータを使用する場合は、前項で自動生成されたマイグレーションファイルを編集するのが手っ取り早いです。

前項で自動生成されたマイグレーションファイル

class CreateBooks < ActiveRecord::Migration[5.2] def change create_table :books do |t|

  t.timestamps
end

end end

現状だとマイグレーションしても、タイムスタンプ用のカラムしか挿入されません。

今回は books テーブルなので、それに合うカラムデータを試しに挿入してみます。

  • title(本のタイトル)
  • body(本の情報)

class CreateBooks < ActiveRecord::Migration[5.2] def change create_table :books do |t| t.string :title t.string :body t.timestamps end end end

マイグレーションファイルの編集ができたら実際にテーブルを作成して見ましょう。

以下コマンドでマイグレーションファイルを参照し、テーブルが作成されます。

rails db:migrate

これで作成できたかと思います。

次回実際にモデルを操作して、view に反映させたいと思います。