轨道3.2.13的一切都是2天

时间:2013-06-10 18:36:56

标签: ruby-on-rails ruby-on-rails-3 web-applications jruby jrubyonrails

好吧,这必须是有史以来最奇怪的铁路相关问题。大约一个月前,我的一些员工开始注意到,每次在日期字段中输入一个值并保存,然后再回到它,它总是落后他们保存的2天。这是一个非常一致的问题。如果它只是那个网络应用程序我会没事的。但它已经开始在我们所有的rails应用程序中发生。我检查了服务器时间。他们都是正确的。正确的日期,年份,时间,时区等等。更奇怪的是我们已经输入了一些数据,日期字段显示为“2013-04-15”但是当提到轨道中的确切条目时它会说'2013-04 -13'正好休息2天。 (即使没有用strftime格式化时间)这开始让我发疯。我唯一的工作是获取值并添加2.days,但这不会在几个Web应用程序中削减它。有没有人有任何可能对此有所了解的想法。

***作为旁注,在开发模式下不会发生这种情况。

*********终于在经过数月的挣扎之后找到了答案。这就是我连接数据库的方式。当我们切换到MSSQL 2012时,我开始使用非标准gem连接到SQL 2012,因为标准不能使用我们的sql配置,所以我使用了gem。 - > gem“jdbc-mssql-azure”,“〜> 0.0.1”。显然,该gem中的某个地方存在一个错误,导致日期向后渲染2天,而不管SQL值如何。谢谢你们所有的评论和帮助。此外,它可以帮助美国人使用“amarican-date”宝石

1 个答案:

答案 0 :(得分:0)

当我们没有更多信息时,发布答案有点困难。

如果服务器和数据库时间正确并且在开发模式下没有出现,我会说问题出现在environment / production.rb文件中。

这两个设置特别可能导致计时问题。

config.time_zone                      #sets the default time zone 
                                      #for the application and enables
                                      #time zone awareness for Active Record.

config.active_record.default_timezone #default is :utc