time_select ヘルパを使うときに、include_blank オプションを有効にすると「ActiveRecord::MultiparameterAssignmentErrors」が起こる問題
最近見つけたエラー。form_forのなかで、時間を選択するときにtime_selectヘルパを使いますが、デフォルトだとページがロードされたときのサーバーの時間が(自動的に/勝手に)選択されています。
これをやってほしくないときに、include_blank オプションを指定すると、空の値がドロップダウンボックスに追加されます。
<%= f.time_select open, :include_blank => true %>
しかしこれを使うと、これを使ったtime_selectで任意の値を設定してpostすると「ActiveRecord::MultiparameterAssignmentErrors」が起こってしまいます。とりあえず応急処置として*1include_blankしたいtime_selectヘルパが含まれているViewが呼ばれるメソッド(今回は新規作成(hoges/new)だった)で、「Model.new」した後に「Time.Parse( "00:00" )」を代入するようにしました。さらに、見せる側のView(hoges/idとか)で工夫など。
結局、include_blankをtrueにしてもMultiparameterAssignmentErrorsが起こらないようにする方法がわからないのですが(そもそも原因がよくわからん)、どうしたらいいんでしょう。
*1:レポートとか課題で、原因を突き止めて修正するには時間がry