2014-10-10 2 views
5

Ich habe eine Rails 3.2.14 App, wo ich die chartkick und groupdate Edelstein verwende, um zu versuchen, einige grundlegende Diagramme zu generieren.Rails Chartkick Gem Fehler Loading Chart Kein Adapter gefunden

Wenn ich meine Ansicht laden erhalte ich die Fehlermeldung: Error Loading Chart: No adapter found

Hier ist, was meiner Ansicht nach Code wie folgt aussieht:

index.html.erb

<%= line_chart Call.group_by_week(:created_at).count %>

Hier ist mein Anwendungslayout einschließlich Chartkick und Ertrag chart_js application.html.e rb (Layout)

<%= javascript_include_tag "application", "chartkick" %> 
<%= yield :charts_js %> 

Kann mir jemand sagen, warum ich diesen Fehler bin immer und wie man es beheben? Ich würde wirklich gerne Chartkick verwenden, um einige einfache Diagramme zu erstellen.

Antwort

11

Vermutlich haben Sie Google Charts oder Highcharts (die Adapter) nicht geladen. Geben Sie diese Zeile <%= javascript_include_tag "//www.google.com/jsapi" %> vor <%= javascript_include_tag "application", "chartkick" %> ein. Überprüfen Sie auch den Installationsbereich auf der Startseite von Gem (scrollen Sie nach unten :)).

+0

Ich habe vermissen die Google-Charts aufrufen. Ich habe es schon herausgefunden. Aber danke für die Antwort! – nulltek

1

Eine weitere Fehlerursache kann das Protokoll sein, das Sie in javascript_include_tag verwenden.

Zum Beispiel erhalten Sie den Fehler Error Loading Chart: No adapter found , wenn Sie zum Beispiel Verwendung Protokoll https für Ihre Website: https://www.example.com

und http in der javascript_include_tag im Code:
<%= javascript_include_tag "http://www.google.com/jsapi", "chartkick" %>

1

oben Wenn nicht der Fall ist für jemanden lösen, eine zusätzliche Möglichkeit ist ein Problem.

Sie können dies überprüfen, indem Sie die JS-Konsole öffnen.

Mixed Content: The page at ' https://site.io/ ' was loaded over HTTPS, but requested an insecure script ' http://www.google.com/jsapi '. This request has been blocked; the content must be served over HTTPS.

Lösung:

Gerade diese

http://www.google.com/jsapi 

(hinzufügen s-http) Um dies ändern

https://www.google.com/jsapi