サインインしていないユーザーが時刻表示を変更できるようにしようとしていますが、URL のパラメーターを使用するのが最善の方法のようです。私は持っている:
class ApplicationController < ActionController::Base
around_filter :use_time_zone
private
def use_time_zone(&block)
Time.use_zone((params[:time] || Time.zone), &block)
end
end
これは、「www.mysite.com?time=Hawaii」のようなものに最適です。
ただし、より複雑なもの (「東部標準時間 (米国およびカナダ)」など) の一部を処理できず、アドレス バーでの表示も悪くなります。
DST (または「PDT」のような他の省略形) で UTC オフセットを params で単純に使用する方法はありますか?