私のアプリでは、time.selectでシフトを作成するためのフォームがあります。しかし、ビューに表示される時間は1時間で間違っており、データベースに表示されている時間は2時間で間違っています。 start_timeを10:00、stop_timeを12:00に設定すると、ビューには9:00-11:00、コンソールには08:00-10:00と表示されます。レールフォームとタイムゾーン
システム時刻に対応したい場合があります。コンソールでTime.nowと入力すると、正しい時刻が得られます。私は非常に混乱しています。
何が間違っていますか?これをどのように修正できますか?
私はレール5とsqliteデータベースを使用します。
形式:
<div class="field">
<%= f.label :Start %>
<%= f.time_select :start_time, {minute_step: 30} %>
</div>
<br>
<div class="field">
<%= f.label :Stop %>
<%= f.time_select :stop_time, {minute_step: 30} %>
</div>
application.rbこれは簡単な修正することができ
config.time_zone = 'Stockholm'
config.active_record.default_timezone = :local
config.active_record.time_zone_aware_types = [:datetime, :time]
ありがとうございますが、これは回避したいソリューションのタイプです。うまくいけば、より安定した修正があります。 – SKR
Mysqlはデータベースにタイムゾーンを提供します。以前に存在していたdbで作業していない場合は、 –