У меня есть многошаговая форма, которая хранит данные в таблице сеансов. Перед сохранением данных я компенсирую разницу во времени, создавая переменную @offset, которая содержит агент часового пояса.
@offset = DateTime.now.in_time_zone(params[:event][:time_zone]).utc_offset / 3600
params[:event][:google_address] = current_user.google_address if params[:event][:google_address].blank?
params[:event][:start] = DateTime.strptime(params[:event][:start], "%m/%d/%Y %l:%M %P") - @offset.hours
params[:event][:end] = DateTime.strptime(params[:event][:end], "%m/%d/%Y %l:%M %P") - @offset.hours
session[:event_params].deep_merge!(params[:event]) if params[:event]
Это хорошо работает, но если пользователь возвращается к предыдущим шагам (перед сохранением формы), форма возвращает время по Гринвичу. Я хотел бы повторно отобразить время в часовом поясе пользователей в поле ввода.
Кто-нибудь знает хитрость, пожалуйста?