SQL
1//情報更新時に出るエラー文 2Mysql2::Error: Column 'section_id' cannot be null: UPDATE `users` SET `section_id` = NULL, `updated_at` = '2017-05-07 09:36:06' WHERE `users`.`id` = 1
###説明
:include_blank => true
を指定して、以下のセレクトボックスを生成しています。
HTML
1<select name="user[section_id]" id="user_section_id"> 2<option value=""></option> 3<option value="1">その1</option> 4<option value="2">その2</option></select>
DB側のsectionはNOT NULL
でデフォルト値は-1
です。
value=""
が選択されている場合、(必須項目ではないので)更新できるようにしたいのですが、発行しているSQL文が```section_id` = NULL``となってしまい、更新することができません。
###回避するには
・バリデーションでNULLの場合はデフォルト値を入れるようにする
・コントローラー側でNULLの場合はデフォルト値を入れるようにする
方法が良いと思っています。
しかし、実装方法を調べても該当する内容がありませんでした。
皆さんはセレクトボックスの未選択あり
をどのように実装していますか?
サンプルコードもいただけると助かります。
何卒、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。