前提・実現したいこと
名前、画像、テキストを投稿した際にこのようなエラーが出るが解決方法がわからない
発生している問題・エラーメッセージ
ActiveRecord::StatementInvalid in TweetsController#create Mysql2::Error: Field 'image' doesn't have a default value: INSERT INTO `tweets` (`created_at`, `updated_at`) VALUES ('2020-04-11 01:50:11', '2020-04-11 01:50:11') Extracted source (around line #12): 10 11 def create ※12行目が赤く表示されている 12 Tweet.create(tweet_params) 13 end 14 15 private Parameters: {"utf8"=>"✓", "authenticity_token"=>"WkgRisTsjf2dnwSX8umAaGl7RmAeYNUJEW3p+uIECgNc5/tQXr2QnC0IPaT2bbCj/n78XHGc66lDnxhKhkcgGg==", "tweet"=>{"name"=>"じ", "image"=>"https://dol.ismcdn.jp/mwimgs/7/1/670m/img_71c53c1d81500a1cf73a4f543e72413f27838.jpg", "text"=>"じ"}, "commit"=>"SEND"}
該当のソースコード
//マイグレーションファイル class CreateTweets < ActiveRecord::Migration[5.0] def change create_table :tweets do |t| t.string :name t.string :text t.text :image, null: false t.timestamps end end end
//tweet_controller.rb def create Tweet.create(tweet_params) end private def tweet_params params.permit(:name, :image, :text) end
試したこと
画像を必須項目にしているのでその部分で引っかかっていると思われるが、書き換え方がわからない
バリデーションを記載すればいい?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。