3.1 ActiveRecordの基本

モデルを定義する

rails g model [モデル名] [カラム名]:[データタイプ]:[オプション]コマンドを利用することで簡単にモデルを定義することができます。

このコマンドを実行すると以下のファイルがデフォルトで生成されます。

  • テーブルを作るマイグレーション
  • ApplicationRecordを継承したモデルクラス
  • モデルのフィクスチャおよびテスト用のファイル
$ rails g model Post title:string body:text

# 結果
Running via Spring preloader in process 85432
      invoke  active_record
      create    db/migrate/20180615072046_create_posts.rb
      create    app/models/post.rb
      invoke    test_unit
      create      test/models/post_test.rb
      create      test/fixtures/posts.yml

db/migrate/20180615072046_create_posts.rb

class CreatePosts < ActiveRecord::Migration[5.2]
  def change
    create_table :posts do |t|
      t.string :title
      t.text :body

      t.timestamps
    end
  end
end

app/models/post.rb

class Post < ApplicationRecord
end

test/models/post_test.rb

require 'test_helper'

class PostTest < ActiveSupport::TestCase
  # test "the truth" do
  #   assert true
  # end
end

test/fixtures/posts.yml

# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html

one:
  title: MyString
  body: MyText

two:
  title: MyString
  body: MyText

カラムの型に指定できる一覧

string 文字列
text 長い文字列
integer 整数
float 浮動小数
boolean ブール値
date 日付
datetime 日時
time 時間
timestamp タイムスタンプ
decimal 桁数の多い小数
binary バイナリデータ

results matching ""

    No results matching ""