单击日历(rails)时使用fullcalendar创建事件

use*_*187 10 ruby-on-rails fullcalendar

当用户点击日历的任何部分时,如何创建活动?然后将其作为新事件存储在数据库中?我知道你必须使用:select:function(start,end,allDay)来获得"开始"和"结束"时间.但是在我得到这些数据之后如何将其传递给数据库?

谢谢!

dom*_*i27 23

您可以使用ajax请求在数据库中存储新事件.

项目主页上有一个演示,可以很容易地进行调整.
通过jQuery例如这样:

select: function(start, end, allDay) {
    var title = prompt('Event Title:');
    if (title) {
        calendar.fullCalendar('renderEvent',
            {
                title: title,
                start: start,
                end: end,
                allDay: allDay
            },
            true // make the event "stick"
        );
        /**
         * ajax call to store event in DB
         */
        jQuery.post(
            "event/new" // your url
            , { // re-use event's data
                title: title,
                start: start,
                end: end,
                allDay: allDay
            }
        );
    }
    calendar.fullCalendar('unselect');
} 
Run Code Online (Sandbox Code Playgroud)

如果您需要对特定点击做出反应,您也可以尝试这一点,但您必须自己动手搜索事件结束或持续时间.

dayClick: function(date, allDay, jsEvent, view) {
    var title = prompt('Event Title:');
    /**
     * again : ajax call to store event in DB
     */
    jQuery.post(
        "event/new" // your url
        , { // re-use event's data
            title: title,
            start: date
            allDay: allDay
        }
    );
}
Run Code Online (Sandbox Code Playgroud)