2016-06-22 4 views
4

私はdatetimeフィールドを持つモデルを持っていて、UTCに格納されています。その日付を特定のタイムゾーンのシンプルなフォームの宝石でどのように表示できますか?私はあなたがコントローラでタイムゾーンを設定した場合、それは動作しますレールアプリ単純なフォームのdatetimeフィールドでタイムゾーンを設定するにはどうすればよいですか?

+0

あなたのテストの結果は何ですか?それでもUTC?レールアプリのタイムゾーンは何ですか? – Leito

+0

'@ model.date'と' @ model.date.in_time_zone( 'Eastern Time(米国とカナダ)')の値は何ですか? '@model.date.in_time_zone ( '東部時間(米国とカナダ)') 'コンソールやディスプレイに表示すると、それが変換されます – letz

+0

プロジェクトでは逆の要件があり、UTCを表示し、私の解決策は自分自身の 'UtcDateSelectInput'を作成することでした。これは' Formtastic'のものでしたが、同様の/とsimple_form。カスタム入力は、DateSelectInputから継承し、次のようにvalueメソッドをオーバーライドします: 'super.utc if super.respond_to? :utc'。私はそれが助けて欲しい – Leito

答えて

0

のタイムゾーンを変更することはできません:

例:

すでにオプション input_html: {value: @model.date.in_time_zone('Eastern Time (US & Canada)')}

注意してみました

around_action :set_time_zone, if: :current_user 

private 

def set_time_zone(&block) 
    Time.use_zone(current_user.time_zone, &block) 
end 
関連する問題