我正在关注Ryan Bates关于为rails应用程序添加时区的教程。
http://railscasts.com/episodes/106-time-zones-revised
(顺便说一句,这是一个很好的教程)
无论如何,Ryan说用Rails知道的时间验证提交的时区是个好主意。他把这个规则放到了用户的模型中:
validates_inclusion_of :time_zone, in: ActiveSupport::TimeZone.zones_map(&:name)
在开发中工作正常。但是,当我在Heroku上运行应用程序时,它不喜欢时区“墨尔本”(和其他许多人 - 我主要测试AU时区)。
在Heroku上,根据用户模型中的规则,它不会接受“墨尔本”的时区。
为什么会这样? time_zone_select
视图帮助器返回“墨尔本” - 因此rails必须知道它。