【发布时间】:2009-10-05 01:24:20
【问题描述】:
处理以下情况的最佳方法是什么:
我们有创建“事件”的“管理员”。这些事件可以是全国性的,即:不同的时区。截至目前,有一个包含当前美国时区列表的选择菜单。数据库表中有一个对应的列,用于选择的时区。这样管理员就可以选择东部时间下午 5 点、太平洋时间下午 5 点等。而不是试图找出格林威治标准时间的等值。
应用程序根据 environment.rb 文件使用 UTC 作为默认时区。
如果管理员选择“东部时间(美国和加拿大)”,则所选日期戳仍保存为 UTC(或应用默认值)。我需要在上面选择的时间(包括时区)之前未显示事件的情况下执行查询。
由于事件需要自己的时区,数据应该如何保存? 我最初认为我需要在 Rails 保存值之前欺骗它,所以它保存了时区的 UTC 偏移量。
这将在 before_save 和 after_find 模型方法中处理。但它似乎不起作用,或者我错过了一些东西..
【问题讨论】:
标签: ruby-on-rails timezone row