Хорошо, это должно быть самая странная проблема, связанная с рельсами. Это было доведено до моего сведения около месяца назад, когда некоторые из наших сотрудников начали замечать, что каждый раз, когда они вводят значение в поле даты и сохраняют, а затем возвращаются к нему, это всегда на 2 дня меньше того, что они сохранили. Это очень постоянная проблема. Я был бы в порядке, если бы это было просто веб-приложение. Но это начало происходить во ВСЕХ наших приложениях rails. Я проверил время сервера. Все они правильные. Правильная дата, год, время, часовой пояс и т. д. И что еще более странно, мы импортировали некоторые данные, и в поле даты указано «2013-04-15», однако при извлечении этой точной записи в рельсах отображается «2013-04». -13' ровно 2 выходных дня. (Даже без форматирования времени с помощью strftime) Это начинает сводить меня с ума. Единственный обходной путь, который у меня есть, - это взять значения и добавить 2.days, но это не повлияет на несколько веб-приложений. У кого-нибудь есть идеи, которые могли бы пролить свет на это.
*** Кстати, в режиме разработки этого не происходит.
********* Наконец-то нашел ответ после нескольких месяцев борьбы. Именно так я подключался к базе данных. Когда мы перешли на MSSQL 2012, я начал использовать нестандартный гем для подключения к SQL 2012, потому что стандарт не работал с нашей конфигурацией sql, поэтому я использовал гем. -> гем "jdbc-mssql-azure", "~> 0.0.1". По-видимому, где-то в этом геме есть ошибка, из-за которой даты отображаются на 2 дня назад независимо от значения SQL. Спасибо, ребята, за все комментарии и помощь. Также это может помочь людям в США использовать драгоценный камень «американский финик».