我正在使用gem fullcalendar-rails。
我使用ajax的数据和一个模式的事件输入。
事件模式添加了新记录之后,我使用fullcalendar refectchevents
在日历上显示新事件。这在我测试过的所有浏览器中都有效,除了ie9。
代码如下:
$('#calendar').fullCalendar
ignoreTimezone: true,
editable: true,
defaultView: 'month',
height: 500,
slotMinutes: 30,
selectable: true,
selectHelper: true,
editable: false,
select: (start, end, allDay) ->
title = $("#title")
description = $("#description")
hours = $("#hours")
workorder = $("#workorder_id")
actcode = $("#actcode_id")
$("#dialog-form").dialog
autoOpen: true
height: 500
width: 400
modal: true
buttons:
"Create Labor": ->
$.create "/events/",
event:
workorder_id: workorder.val(),
actcode_id: actcode.val(),
title: title.val(),
description: description.val(),
hours: hours.val(),
starts_at: "" + start,
ends_at: "" + end,
all_day: allDay,
maxsynch: "N",
employee_id: $('#calendar').data('employeeid'),
overtime: "TRUE" if $("#overtime").is(":checked")
$(this).dialog "close"
$('#calendar').fullCalendar('refetchEvents')
UPDATE1
我修改了下面的内容——但是,它并没有解决问题。
eventSources: [{
url: '/events',
cache: false,
}],
更新2
这工作:
...
employee_id: $('#calendar').data('employeeid'),
overtime: "TRUE" if $("#overtime").is(":checked")
complete: ->
$('#calendar').fullCalendar('refetchEvents')
我遇到过类似的问题,但我没有使用完整的日历与rails。
IE缓存数据,所以每次调用refetch事件时,它都会显示缓存的事件。
我已经使用events_function来获取事件。我在ajax请求中设置了cache: false选项来获取事件。