4

Rails のデフォルトの動作は、データベース レコードと日付/日時関連の列を UTC 時間で保存することであることを理解しています。また、environment.rb の config.time_zone を使用して、ユーザーへの日付/日時の表示を制御できます。したがって、基本的に config.time_zone の設定は表示を制御するためのものであり、これによって Rails はレコードを UTC から config.time_zone で指定したものに変換します。

Rails が UTC ではなく EST でレコードを保存するように強制する方法または設定はありますか?

-サティノス

4

2 に答える 2

3

質問の背後にある理由を検討する必要があります。覚えておいてください: Rails は設定より規約を実装しています - 規約を変更したいという十分な理由があるはずです! 特に、datetime がデータベースに保存される方法と同じくらい恣意的なもので、Rails を使用すると日付を簡単に操作できることを考えると。

于 2010-01-19T15:53:50.687 に答える
0

レコードを強制的に EST に保存することについてはわかりませんが、データベースでローカル タイム ゾーンを使用することについての議論を共有したいと思います: http://www.ruby-forum.com/topic/890711

議論から、同様の問題に対してskip_time_zone_conversion_for_attributesを使用することになりました(その方法について:http://api.rubyonrails.org/classes/ActiveRecord/Timestamp.html)。興味があるかもしれません。おそらく、タイム ゾーンを EST に設定してから、この方法を試してみてください。

幸運を!しばらく時間が経っていることは承知していますが、あなたが最終的に何をしたかを人々に知らせるのに少し時間がかかるかもしれません.

于 2012-06-20T16:11:29.443 に答える