Как заставить мультитенантное приложение Rails / ActiveRecord хранить дату / время для арендаторов в разных зонах? - PullRequest
0 голосов
/ 01 июля 2019

У меня есть приложение Rails, которое обслуживает несколько приложений-арендаторов.Эти арендаторы могут существовать в разных часовых поясах, например, в Нью-Йорке и Лос-Анджелесе.Эти приложения-арендаторы обрабатывают платежи и отправляют данные в мое приложение.Я использую PostgreSQL.

Отправляемые данные имеют временную метку и включают смещение для часового пояса, в котором существует арендатор.Когда мое приложение получает и сохраняет эти данные, ActiveRecord преобразует их в UTC без смещения.

Можно ли настроить ActiveRecord для сохранения смещения часового пояса при сохранении данных в БД?

1 Ответ

0 голосов
/ 02 июля 2019

Сохранение даты и времени в UTC всегда. Всякий раз, когда отображается метка времени в представлениях, используйте

@post.created_at.in_time_zone(current_site.timezone)

current_site.timezone должен возвращать строку часового пояса, соответствующую местоположению.

...