doesn't have a default value: INSERT INTOエラー

こんにちは!kossyです!










一昨日の話題ですが、大阪桐蔭、さすがに強かったですね。
Twitterを見ると、真偽は定かではありませんが、異常に厳しい校則が存在しているようで、
野球に高校2年半の全てを捧げるチームはレベルが違いますね。


両校とも、おめでとうございます。


















さて、今回はdoesn't have a default value: INSERT INTOエラーというエラーに出会ってしまったので、
同じエラーに遭遇し困った方のためにブログに残してみようかと思います。




このエラーは、厳密なSQLモードでMySQLに接続しているために起こるエラーのようで、


mysqlの設定をいじくるには、

mysql -u root コマンドを実行すればいじくれます。

MySQL : SQLモードの確認・変更 | DN-Web64

設定に関しては上記のURLが参考になるかと思います。




で、STRICTモードを解除しエラーが解決されたと思ったら、

まだ意図しない挙動に、、、

新規投稿の際にURLのみ保存されるようになってしまいました、、、





どうやら、require(モデル名)を指定し忘れていたのが原因だったようです。

def review_params
    params.require(:review).permit(:bookname, :tag_list, :content, :level).merge(user_id: current_user.id)
  end

これでようやく意図した挙動になりました。