ひどいタイトルですが、これは私が持っているものです:
Loading development environment (Rails 3.2.8)
1.9.3p194 :001 > Product
=> Product(id: integer, name: string, date: datetime, created_at: datetime, updated_at: datetime, end_time: datetime, start_time: time)
1.9.3p194 :002 > p = Product.new
=> #<Product id: nil, name: nil, date: nil, created_at: nil, updated_at: nil, end_time: nil, start_time: nil>
1.9.3p194 :003 > p.start_time = "foo"
=> "foo"
1.9.3p194 :004 > p.start_time
=> 2000-01-01 00:00:00 UTC
無効な時間を有効な時間に解析することは期待できません。これにより、フォーム送信からの検証で問題が発生しています。
これは多少関連しています: Rails 3 - 時間の存在の検証
そして、github でこの問題につながります: https://github.com/rails/rails/issues/6045
コードを目で追跡しようとしましたが、「foo」が解析されず、nil が返されることを除いて、何も表示されません。
編集:この正確な動作を表示するサンプルアプリを作成しましたhttps://github.com/danbeaulieu/test-app
しかし、実際には、単一のモデルを備えた必要最小限のアプリです。