groupモデルを作成し、有効性のテストを書くとエラーが発生します。データベースはroomがたくさんのgroupを持っているという構造になっています。
group_test.rb
def setup @group = groups(:one) end test "should be valid" do assert @group.valid? end
schema.rb
create_table "groups", force: :cascade do |t| t.string "name" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.integer "room_id", null: false t.index ["room_id"], name: "index_groups_on_room_id" end create_table "rooms", force: :cascade do |t| t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.string "name" end
groups.yml
one: name: MyString room: one two: name: MyString room: one
rooms.yml
one: name: MyName two: name: MyName
エラー内容
ActiveRecord::NotNullViolation: RuntimeError: NOT NULL constraint failed: groups.room_id
調べると、group.ymlの中でroomが指定されていない場合にnullになるのでエラーが発生すると書いていました。しかし、group.ymlの方にはroomを指定しています。どうやってこのエラーを解消できるでしょうか?
回答1件
あなたの回答
tips
プレビュー