###背景
Oiax社『改訂4版 基礎Ruby on Rails』で学習中です。
本書の内容に沿って進めています。
データベースの章で、作成したテーブルにレコードを追加して保存する段階でエラーが出て進捗が止まっているためご質問させていただきます。
状況
対象のテーブルの内容は以下の通りです。
class CreateMembers < ActiveRecord::Migration[5.2] def change create_table :members do |t| t.integer :number, null: false # 背番号 t.string :name, null: false # ユーザー名 t.string :full_name # 本名 t.string :email # メールアドレス t.date :birthday # 生年月日 t.integer :gender, null: false, default: 0 # 性別 (0:男, 1:女) t.boolean :administrator, null: false, default: false # 管理者フラグ t.timestamps end end end
上記のテーブルに対して新しくレコードを追加し、numberとnameを与えて保存しようとしました。
terminal
1irb(main):001:0> Member.count 2 (0.4ms) SELECT COUNT(*) FROM "members" 3=> 0 4irb(main):002:0> member = Member.create(number: 1, name: "Taro") 5 (0.0ms) begin transaction 6 Member Create (0.7ms) INSERT INTO "members" ("number", "name", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["number", 1], ["name", "Taro"], ["created_at", "2018-12-04 22:42:41.521519"], ["updated_at", "2018-12-04 22:42:41.521519"]] 7 (0.0ms) rollback transaction 8Traceback (most recent call last): 9 1: from (irb):2 10ActiveRecord::NotNullViolation (SQLite3::ConstraintException: NOT NULL constraint failed: members.administrator: INSERT INTO "members" ("number", "name", "created_at", "updated_at") VALUES (?, ?, ?, ?)) 11irb(main):003:0>
本の記載では、エラーは生じずにcommit transactionとなり処理が完了することになっています。
原因や対処法を教えていただけないでしょうか。
ご回答に際して不足情報等あればご教示お願い致します。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。