※ ChatGPTを利用し、要約された質問です(原文:railsでtime_selectを利用すると処理がおかしい)
railsでtime_selectを利用すると処理がおかしい
このQ&Aのポイント
railsのtime_selectで作成したフォームの値でDBへのInsertやUpdateが上手くいきません。
フォームで受け取った時間の部分が正しくDBに保存されない問題が発生しています。
根本的な原因は不明ですが、hidden_field_tagで(6i)を作成したり、time_selectのinclude_secondsを有効にすると正常になります。
railsでtime_selectを利用すると処理がおかしい
railsのtime_selectで作成したフォームの値でDBへのInsertやUpdateが上手くいきません。
具体的にはtime_selectでフォームを作成すると、
Controllerには以下のような変数がくると思います。
(1i) 2009
(2i) 05
(3i) 22
(4i) 10
(5i) 10
ただ、これをそのままDBへ送ると「XX:10:10」のように、
時間の部分が分に、分が秒になってしまい、時間の箇所にはよく分からない数字が入ります。
(DBへのInsert、Updateは「paramas[:Controller名]」で
取得したものをそのままcreate、update_attributesしています。)
hidden_field_tagで(6i)を作成したり、
time_selectのinclude_secondsを有効にすると正常になるのですが、
根本的な原因は何なのでしょうか?
(rubyは1.8.7、railsは2.2.2です。)
ご存知の方はよろしくご教示願います。
お礼
ありがとうございます。 原因がよくわからなかったので、 Controllerで強引に値を整形することにしました。