Показать результат в Тихоокеанском часовом поясе, отображаемый в UTC - PullRequest
0 голосов
/ 22 мая 2018

Здравствуйте, я новичок в ruby ​​на рельсах, поэтому, пожалуйста, будьте осторожны со мной.У меня есть приложение rails, которое состоит из таблицы, отображающей запись.У меня есть панель поиска, которая фильтрует результаты таблицы по дате.Мой тег выбора панели поиска выглядит следующим образом

select_tag :date, options_for_select(@previous_summary_history_dates.uniq), prompt: "Search by date", id: "summary-history-date-filter", class: "form-control"

Это мой @previous_summary_history_dates в контроллере, откуда тег выбора получает значение из

@previous_summary_history_dates = SummarySheet.where(is_history: nil).pluck(:record_inserted_at).map{|a| a.strftime("%m/%d/%Y - %l:%M %p")}.uniq

Я установил application.rb файл для этого

config.time_zone = 'Pacific Time (US & Canada)'
config.active_record.default_timezone = :local

У меня есть запрос для панели поиска, которая отображает запись в таблице, отфильтрованной по дате, выбранной из тега выбора, что-то вроде этого

@summary_history = SummarySheet.where(record_inserted_at: DateTime.strptime(params[:date], "%m/%d/%Y - %l:%M %p").at_beginning_of_minute..DateTime.strptime(params[:date], "%m/%d/%Y - %l:%M %p").at_end_of_minute)

Этот запрос работает, но он дает мне вывод в формате UTC, который не соответствует моему формату PCT тега select, и я получаю результат как ноль.Если я изменю свой часовой пояс для выбора тега на UTC, я получу желаемый результат.

Я попытался .in_time_zone("Pacific Time (US & Canada)") в моем запросе фильтра преобразовать дату в PCT, но это не сработало

Может кто-нибудьПодскажите, пожалуйста, как я могу сохранить выбранную метку в PCT, запустить запрос и получить отфильтрованные по выходным данным даты?Заранее спасибо

1 Ответ

0 голосов
/ 22 мая 2018

Я решил это, изменив запрос на

@summary_history = SummarySheet.where(record_inserted_at: Time.zone.strptime(params[:date], "%m/%d/%Y - %l:%M %p").at_beginning_of_minute..Time.zone.strptime(params[:date], "%m/%d/%Y - %l:%M %p").at_end_of_minute)
...