У меня есть приложение rails, где часовой пояс устанавливается в application.rb:
config.time_zone = 'Pacific Time (US & Canada)'
Я хочу получить доступ к этому часовому поясу в контроллере, чтобы я мог преобразовать время UTC в местное время,Я пробовал множество вещей, таких как следующее:
@event.start_time = Time.zone.utc_to_local(@event.start_time)
Но, похоже, он не позволяет мне вызывать методы в Time.zone.Я также попробовал это с помощью ActionHelper :: Time, но, похоже, не сделал этого.Как получить доступ к этим методам из контроллеров?
РЕДАКТИРОВАТЬ: Я думаю, что часть проблемы в том, что я пытался сбросить @ event.start_time.Я изменил его так, чтобы оно было
@event = current_user.events.build(params[:event])
date = Date.parse(params[:event]["start_date"])
utc_start_time = DateTime.civil( date.year.to_i,
date.month.to_i,
date.day.to_i,
params[:event]["start_hour_min(4i)"].to_i,
params[:event]["start_hour_min(5i)"].to_i )
@event.start_time = Time.zone.utc_to_local(utc_start_time)
@event.save
Это теперь сохраняет, но только иногда (еще не выяснил, какие факторы определяют это) и смещается в неправильном направлении.Я отредактирую это, когда смогу диагностировать, что происходит дальше.