Как лучше всего справиться со следующей ситуацией:
У нас есть «администраторы», которые создают «события». Эти события могут быть общенациональными, то есть: разные часовые пояса. На данный момент есть меню выбора с текущим списком часовых поясов США. В таблице базы данных есть соответствующий столбец для выбранного часового пояса. Это так, чтобы администратор мог выбрать 5 вечера восточного, 5 вечера тихоокеанского и т. Д. Вместо того, чтобы пытаться выяснить GMT-эквивалент.
Приложение использует UTC в соответствии с файлом environment.rb в качестве часового пояса по умолчанию.
Если администратор выбирает «Восточное время (США и Канада)», выбранная метка даты все еще сохраняется как UTC (или по умолчанию в приложении). Мне нужно выполнить запросы, когда события не отображаются до указанного выше времени, включая часовой пояс.
Поскольку событиям нужен собственный часовой пояс, как следует сохранять данные?
Первоначально я думал, что мне нужно обмануть Rails, прежде чем он сохранит значение, поэтому он сохраняет смещение UTC для часового пояса.
Это будет обработано в методах модели before_save и after_find. Но, похоже, это не работает, или, скорее, я что-то упускаю ..