私のアプリはbootstrap3-datetimepicker
を使用して時刻(時と分)を表示します。Rails:bootstrap3-datetimepickerを使用して間違った時刻が表示されます
時刻はテーブルに正しく保存でき、show
ビューで表示することができます。
編集しようとすると間違った時間が表示されます。 ミニですが、時は間違っています(常に午後8時)。例えば
、
DB:04:01:00
ビュー:8:01 PM
(フォーマットLT
ある)
Iは4:01 AM
ことを期待。
edit.html.erb
<%= render 'event_form'%>
_event_form.html.erb
これは:start_at
と:end_at
の両方が起こります。
<%= form_for([@room, @event]) do |f| %>
...
<div class="container">
<div class="row">
<div class='col-sm-6'>
<div class="form-group">
<div class='input-group date' id='datetimepicker1'>
<%= f.text_field :start_at, :class => 'form-control'%> #this line
<span class="input-group-addon">
<span class="glyphicon glyphicon-time"></span>
</span>
</div>
</div>
</div>
<script type="text/javascript">
$(function() {
$('#datetimepicker1').datetimepicker({
format: 'LT'
});
});
</script>
</div>
</div>
<div class="container">
<div class="row">
<div class='col-sm-6'>
<div class="form-group">
<div class='input-group date' id='datetimepicker2'>
<%= f.text_field :end_at, :class => 'form-control'%> #this line
<span class="input-group-addon">
<span class="glyphicon glyphicon-time"></span>
</span>
</div>
</div>
</div>
<script type="text/javascript">
$(function() {
$('#datetimepicker2').datetimepicker({
format: 'LT'
});
});
</script>
</div>
</div>
...
私はあなたが私に与えることができればそれは理解されるだろうhttps://eonasdan.github.io/bootstrap-datetimepicker/#custom-formats
スキーマ
create_table "events", force: :cascade do |t|
t.time "start_at"
t.time "end_at"
t.string "title"
t.string "detail"
t.integer "room_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "category"
t.integer "ccy"
t.decimal "amount"
end
events_controller.rb
...
def edit
@room = Room.find(params[:room_id])
@event = @room.events.find(params[:id])
end
...
に従ってくださいnyのアドバイス。
私は、datetime pickerが値を同じフォーマットで設定することを期待していると考えています。つまり、ピッカーに渡す値は「04:01:00」ではなく「4:01 AM」でなければなりません。 – MrWillihog
素早い対応をいただき、ありがとうございます、@MrWillihog。 ymlファイルのフォーマット設定を反映するために 'l(:start_at)'を使ってみましたが、以下のエラーが表示されます。 'I18n :: ArgumentError(オブジェクトはDate、DateTimeまたはTimeオブジェクトでなければなりません。:start_at given。):'。これは別の問題かもしれませんが、私に何かヒントを与えることができれば幸いです。 – SamuraiBlue
私はこれが最善の方法であるわからないんだけど、私はJavaScriptでこのようなものがあります。。。 '$(「#ののDateTimePickerを」)のデータ(「のDateTimePicker」)日付(モーメント(MyDateに該当).utc()形式(DATE_FORMAT)); '。誰かがより良い答えを求めてくるのを待つ価値があるでしょう。 – MrWillihog