質問: Rack::Test::UploadedFile.new(path, "image/jpeg", true) MemberImage.create( member: member, uploaded_image: file ) end 【スキーマ】 create_table "member_images", force: :cascade do |t| t.integer "member_id", null: false t.binary "data" t.string "content_type" t.datetime "created_at", null: false t.datetime "updated_at", null: false end add_index "member_images", ["member_id"], name: "index_member_images_on_member_id" create_table "members", force: :cascade do |t| t.string "name", null: false t.string "full_name" t.string "email" t.date "birthday" t.integer "gender", default: 0, null: false t.text "affiliation" t.text "intro" t.boolean "administrator", default: false, null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "hashed_password" end
回答: いくつか項目を間引きましたが、記載されている内容とほぼ同じ構成でseedを実行できました。 10件以下だと失敗する、というのは不可解ですね。。 belongs_to: member は書いてあるとして(無ければそもそも失敗しますが。。)、 puts member.inspect などのデバッグコードを仕込んで、どういう変数が作られているか、ご確認いただけますでしょうか。 環境はRuby2.3.0 / Rails4.2.6で試しました。 ちなみに下記のuploaded_imageというカラムがmember_imageに無いように見えますが無関係でしょうか。 MemberImage.create( member: member, uploaded_image: file )