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です。)

ご存知の方はよろしくご教示願います。

A 回答 (1件)

>>根本的な原因は何なのでしょうか?


(rubyは1.8.7、railsは2.2.2です。)

単純にtime_selectを使用したフォームを使って、DBへのUpdateを行った場合、こちらでは、問題が発生していません。Controllerでは何も指定しない場合です。(ruby 1.8.6,rails 2.3.2)
なので、もしかすると、Controllerの中で自分で細工する場合、きちんと(6i)までの指定が必要になるのかも?
    • good
    • 0
この回答へのお礼

ありがとうございます。

原因がよくわからなかったので、
Controllerで強引に値を整形することにしました。

お礼日時:2012/11/08 20:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報