私はコンサートツアーのウェブサイト用のアプリを使用しています。このアプリでは、すべての時間(発表時間、販売開始時間、イベント開始時間)が各特定の会場のタイムゾーンにローカルです。該当する場合は、ユーザーが入力した日付/時刻を取得し、before_filterを実行して適切なタイムゾーンを設定し、すべてがUTCでデータベースに保存されるようにします。'new'フォームの場合、およびインデックスとショーアクションに時刻を表示する場合は、まったく問題ありません。データがデータベースからビューに戻されるとき、私はin_time_zoneを使用して特定の場所ごとに調整します。
唯一の問題は編集フォームにあります。日付/時刻の選択により、UTCでデータが表示されます。私がサイトで作業しているとき、私は精神的に調整しますが、他の人にとっては混乱します。次のようなことをしたいと思います。
<%= f.datetime_select :start_datetime.in_time_zone(@event.time_zone) %>
または、コントローラーで:
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 %>
。
残念ながら、これを行う正しい方法が見つかりませんでした。試してみる価値のあるアイデアはありますか?
どうもありがとうございます。