Rails - Выбор даты и времени в указанном часовом поясе

Я работаю с приложением для веб-сайта концертного тура, где все время (время объявления, время начала продаж и время начала мероприятия) локально для каждого часового пояса конкретного места проведения. Я беру введенную пользователем дату / время, где это применимо, и запускаю before_filter, чтобы установить соответствующий часовой пояс, чтобы все хранилось в базе данных в формате UTC. Для «новой» формы и для отображения времени в индексе и показа действий вообще никаких проблем. Когда данные возвращаются из базы данных в представление, я использую in_time_zone для настройки для конкретного места проведения.

Единственная проблема связана с формой редактирования. При выборе даты / времени данные отображаются в формате UTC. Когда я работаю над сайтом, я мысленно настраиваюсь, но для других это сбивает с толку. Я хотел бы сделать что-то вроде:

<% = f.datetime_select (hidden)%>

Или в контроллере:

def edit
  @performance = Performance.find(params[:id])
  @event = @performance.event
  @performance.start_datetime = @performance.start_datetime.in_time_zone(@event.time_zone)
end

Тогда просто <% = f.datetime_select : start_datetime%> .

К сожалению, я не нашел правильного способа сделать это. У вас есть идеи, которые стоит попробовать?

Большое спасибо.

9
задан John Harper 5 June 2011 в 14:04
поделиться