ActiveRecord автоматически преобразует все вставленные временные метки в UTC. Это объясняет, почему ваше концертное время настроено на другой часовой пояс. Первым шагом будет посмотреть, решена ли проблема, если вы установили config.time_zone в environment.rb в свой часовой пояс.
Если это не решит проблему, читайте дальше:
После некоторого тестирования я обнаружил, что, по-видимому, существуют некоторые расхождения с использованием DateTime в приборах по сравнению с тем же кодом в контроллере. Если я использовал DateTime.new (1999) в моем контроллере, вставленный столбец был 1999-01-01 00: 00: 00 . Если я использовал тот же вызов в своем приборе, вставленный столбец был 1999-01-01 10: 30: 00 , который является моим часовым поясом. Это было независимо от того, какое значение было установлено для config.time_zone.
В обоих случаях правильное изменение часового пояса приводило к изменению объекта ActiveRecord, получаемого из базы данных.
По правде говоря, я не знаю, какое представление является правильным. Я знаю, что тест прошел, когда я изменил прибор на 1999-01-01 00:00 вместо использования DateTime.new (1999). Если решение в первом абзаце не работает для вас, попробуйте изменить осветитель на строковое представление даты.