モデルの 1 つでいくつかの日時フィールドを更新しています。を使用して 1 分単位の時間 (12:30 など) を解析しDateTime.civil
、それを属性に割り当てます。データを保存してデータベースから引き戻すと、1 秒 (またはそれ以下) ずれていますが、12:29:59 として出力され、アプリでは 12:29 として表示されます。
この古いチケットのため、https://github.com/rails/rails/commit/717a2941e15b32d07cc456bb0d81742ecfc5b4a3#L0R175のようなパッチを適用してみました-timestamp-conversions-fail-for-some-casesですが、正直なところ、同じ問題のようには見えません (そして、役に立ちませんでした)。
(rdb:725) m.starts_at
Thu, 04 Jul 2013 12:20:00 EDT -04:00
(rdb:725) new_time
Thu, 04 Jul 2013 12:20:00 -0400
(rdb:725) Match.find(m.id).starts_at
Thu, 04 Jul 2013 12:19:59 EDT -04:00
(rdb:725) Match.find(m.id).starts_at.to_i
1372954799
(rdb:725) new_time.to_i
1372954799
(rdb:725) m.starts_at.to_i
1372954799
(rdb:725) m.starts_at + 1
Thu, 04 Jul 2013 12:20:01 EDT -04:00
(rdb:725) (m.starts_at + 1).to_i
1372954800