我已经阅读了不少文章,完成了我的作业。我有存储为UTC所有时间,每个用户设置自己的时区,等等。这里是我遇到的问题:Activerecord:在当地时间将字符串转换为时间
Time.zone
=> GMT-05:00 Eastern Time US Canada
t = Ticket.first
t.hold_until = "Jan 1, 2012 9:00PM"
t.save!
t.hold_until
=> Sun, 01 Jan 2012 16:00:00 EST -05:00
# notice the above time lost 5 hours
的问题是,字符串是由用户提供的POST请求。假设用户输入是在他们的本地时间,而不是UTC。我错过了什么,或者不应该是ActiveRecord默认?除了必须在我的所有控制器中转换时间之外,什么是正确的方法。这似乎是错误的,而不是非常干燥。