модуль ActiveRecord::Timestamp
Система отслеживания времени Active Record
Active Record автоматически отслеживает операции создания и обновления, если в таблице есть поля с именами created_at/created_on или updated_at/updated_on.
Отслеживание времени можно отключить, установив:
config.active_record.record_timestamps = false
По умолчанию отслеживание времени производится по UTC, но вы можете использовать локальное часовое поясом, установив:
config.active_record.default_timezone = :local
Time Атрибуты, учитывающие часовые пояса
Active Record сохраняет все поля datetime и time, учитывая часовой пояс. По умолчанию эти значения хранятся в базе данных как UTC и преобразуются обратно в текущее Time.zone при извлечении из базы данных.
Эту функцию можно полностью отключить, установив:
config.active_record.time_zone_aware_attributes = false
Вы также можете указать, что только поля time должны учитывать часовой пояс (в то время как datetime - нет), установив:
ActiveRecord::Base.time_zone_aware_types = [:datetime]
Вы также можете добавить базу данных, специфичные типы, учитывающие часовой пояс. Например, для PostgreSQL:
ActiveRecord::Base.time_zone_aware_types += [:tsrange, :tstzrange]
Наконец, вы можете указать определенные атрибуты модели, для которых не должно применяться преобразование часового пояса, например, установив:
class Topic < ActiveRecord::Base self.skip_time_zone_conversion_for_attributes = [:written_on] end
© 2004–2020 David Heinemeier Hansson
Licensed under the MIT License.