次の状況を処理する最善の方法は何ですか。
「イベント」を作成する「管理者」がいます。これらのイベントは、全国的に、つまり異なるタイム ゾーンにすることができます。現在、米国のタイムゾーンの最新リストを含む選択メニューがあります。データベース テーブルには、選択したタイム ゾーンに対応する列があります。これは、管理者が同等の GMT を把握しようとする代わりに、東部標準時の午後 5 時、太平洋標準時の午後 5 時などを選択できるようにするためです。
アプリケーションは、デフォルトのタイムゾーンとして、environment.rb ファイルに従って UTC を使用しています。
管理者が「東部時間 (米国およびカナダ)」を選択した場合、選択された日付スタンプは引き続き UTC (またはアプリのデフォルト) として保存されます。タイム ゾーンを含め、上記で選択した時間より前にイベントが表示されないクエリを実行する必要があります。
イベントには独自のタイム ゾーンが必要なので、データをどのように保存する必要がありますか? 私は当初、値を保存する前にRailsをだます必要があると考えていたので、タイムゾーンのUTCオフセットを保存します。
これは before_save および after_find モデル メソッドで処理されます。しかし、うまくいかないようです。というか、何かが欠けています..