ActiveRecord の :datetime は ruby Time class に対応してるんだけど、
ruby の Time class が 0001-01-01 00:00:00 とかの、かなり昔とか未来の日付に対応してない。
(ActiveRecord が 0001-01-01 00:00:00 を 2001:01:01 00:00:00 に変換してしまう)
なので ActiveRecord の :datetime 周りの処理を上書きして、DateTime class を使うようにする。
テスト環境:
- Ubuntu 9.04
- ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
- rails 2.3.2 – 2.3.4
- mysql Ver 14.12 Distrib 5.0.75, for debian-linux-gnu (i486) using readline 5.2
以下のコード active_record_datetime_ext.rb を RAILS_ROOT/config/initializers にコピーするだけ。
(続きを読む…)


English
Japanese
記事
コメント