私は"starts_at"=>"2016-02-04T14:30:00.000+01:00"
Railsの:どのように、元のタイムゾーン(異なるエントリ=異なるタイムゾーン)でモデルから日時を取得する
ではpostgresに保存されているこのエントリを作成したいモデルを考えると、starts_at
は、タイムゾーンを維持する必要があります - これは、維持することが重要ですそれはそのままでHTML 今回は14:30に表示されます。 ビジネスの意味:ユーザーはロンドンからの時間を節約できます。オーストラリアからの管理チェック項目と彼は私がきちんとそれがある時に理解できるように、サーバーを必要とするので、私は
でユーザーに話す必要があります
Railsは与える:
[28] pry(main)> entry.starts_at
=> 2016-02-04 13:30:00 UTC
[17] pry(main)> entry.attributes_before_type_cast["starts_at"]
=> "2016-02-04 13:30:00+00"
を私は種類を試したもののはpostgressは、タイムゾーンを捨てることとします
t.change :starts_at, 'timestamp with time zone'
フィールドを適切なタイムゾーンに格納/取得する方法。ポストバックに格納されます。 それは別のエントリの任意のタイムゾーンすることができ、コードがどの時間帯を持つエントリを知りませんので、(私はあまりにもダミー思われる、別のフィールドにタイムゾーンを格納する場合を除き)私たちははin_time_zoneを使用することはできません
do_not_touch_timezones_for :starts_at
またはstarts_at.original_timezone
やグローバル設定のようなものがありますか?
はself.skip_time_zone_conversion_for_attributes = [:starts_at, :ends_at]
をしようとしました - いいえ任意の効果
私はデータベースの文字列として日付を保持する場合、それは解決するだろう。 (これは私が実際にやっている:) ':datetime'カラムの解決策はありますか? –