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 | バイナリデータ |