2010-01-19 7 views
4

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

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

-Satynos

ответ

3

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

0

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

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

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

Смежные вопросы