Рельсы Часовой пояс - PullRequest
4 голосов
/ 19 января 2010

Я понимаю, что поведение рельсов по умолчанию заключается в сохранении записей базы данных и любых столбцов, связанных с датой / датой и временем, во время UTC. И мы можем контролировать отображение даты / даты и времени пользователям с помощью config.time_zone в environment.rb. Таким образом, в основном настройка config.time_zone предназначена для управления отображением, с помощью которого рельсы преобразуют записи из UTC в ту, которую мы указали в config.time_zone.

Есть ли способ или параметр, чтобы заставить рельсы сохранять записи в EST, а не в UTC, и все же выполнять преобразование для отображения на основе настройки config.time_zone?

-Satynos

Ответы [ 2 ]

3 голосов
/ 19 января 2010

Вы должны рассмотреть причину вашего вопроса. Помните: Rails реализует соглашение поверх конфигурации - и вам лучше иметь вескую причину, чтобы изменить соглашение! Особенно в отношении чего-то произвольного, например, как дата и время сохраняются в базе данных, и учитывая, как легко Rails позволяет нам работать с датами.

0 голосов
/ 20 июня 2012

Я не знаю, как принудительно сохранять записи в EST, но я хотел бы поделиться этим обсуждением об использовании местного часового пояса в базе данных: http://www.ruby -forum.com / topic / 890711

Из обсуждения я в итоге использовал skip_time_zone_conversion_for_attributes для аналогичной проблемы (об этом методе: http://api.rubyonrails.org/classes/ActiveRecord/Timestamp.html). Это может вас заинтересовать - может быть, установите часовой пояс на EST, а затем попробуйте этот метод.

Удачи! Я знаю, что прошло некоторое время, но, может быть, потребуется время, чтобы люди узнали, что вы в итоге сделали.

...