2016-09-28 8 views
0

Ich versuche, einen Kalender zu meiner Webanwendung hinzuzufügen, aber es funktioniert nicht. Ich habe die folgenden Anweisungen befolgt und kann den Kalender nicht füllen.FullCalendar in Ruby on Rails funktioniert nicht

Muss ich auch das ganze Javascript schreiben? Dies scheint ein schneller Schritt zu sein, um einen Kalender zu installieren. Ich bin mir sicher, dass mir einige Installationsschritte fehlen, aber das habe ich online gefunden.

  1. Add

    gem 'fullcalendar-rails' 
    gem 'momentjs-rails' 
    

2. Bundle installieren und starten Schienen Server gemfile.

3. Hinzufügen

//= require moment 
    //= require fullcalendar 
    $('#calendar').fullCalendar({}); 
  1. In den application.css

    *= require fullcalendar 
    
  2. In Meinung nach die folgenden html application.js:

    <div id="calendar"></div> 
    
+0

Ich denke, Schritt 3 ist Ihr Problem – DiegoSalazar

+0

Ok ich es aussehen . Kannst du es ausarbeiten? Was ist mit Schritt 3 falsch? Wie sollte ich es ändern? – jkloster7

+0

überprüfen Sie Ihre Javascript Fehler in Devtools. Sie müssen wahrscheinlich auch Dokument bereit, siehe http://stackoverflow.com/questions/18770517/rails-4-how-to-use-document-ready-with-turbo-links –

Antwort

2

Sie haben Optionen zur fullCalendar Plugin hinzufügen, so dass es weiß, wo von Ereignisdaten holen:

$('#calendar').fullCalendar({ 
    eventSources: ["/events"] 
}); 

Im obigen Beispiel ist /events einen Pfad zu einem Controller von Ihnen, von dem Sie mit Ereignisdaten reagieren

https://fullcalendar.io/docs/event_data/

Alternativ können Sie Ihre eigenen Ereignisdaten direkt an das fullCalendar Plugin bieten:

$('#calendar').fullCalendar({ 
    events: [ 
     { 
      title : 'event1', 
      start : '2010-01-01' 
     }, 
     { 
      title : 'event2', 
      start : '2010-01-05', 
      end : '2010-01-07' 
     }, 
     { 
      title : 'event3', 
      start : '2010-01-09T12:30:00', 
      allDay : false // will make the time show 
     } 
    ] 
}); 

https://fullcalendar.io/docs/event_data/events_array/

Es wird auch das Plugin initializer in einer jQuery-Ready-Funktion platzieren helfen, so dass die DOM Lasten zuerst:

$(function() { 
    $('#calendar').fullCalendar({ eventSources: ["/events"] }); 
}) 
+0

Ok toll. Ich werde diese Vorschläge ausprobieren und sehen, was passiert. Vielen Dank! – jkloster7

+0

Ich habe alles versucht und es funktioniert nicht. Könnte es ein Problem mit meiner JQuery sein? Ich habe versucht, auf eine CDN zu verlinken, eine Datei herunterzuladen usw. Aber es funktioniert nicht. Mein Javascript funktioniert gut. Hier ist was der Kopf meiner Anwendung.ERB-Datei sieht so aus ... – jkloster7

+0

<% = stylesheet_link_tag 'Anwendung', media: 'alle', 'daten-turbolinks-track' => true%> <% = javascript_include_tag 'jquery-3.1.0', 'application'%> <% = javascript_include_tag 'application', 'data-turbolinks- track '=> true%> <% = csrf_meta_tags%> – jkloster7