2014-10-10 10 views
5

Ho un'app Rails 3.2.14 dove sto usando il chartkick e groupdate gem per provare a generare alcuni grafici di base.Rails Chartkick Gem Errore nel grafico di caricamento Nessun adattatore trovato

Quando carico mio punto di vista ottengo l'errore: Error Loading Chart: No adapter found

Ecco ciò che il mio codice di vista assomiglia:

index.html.erb

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

Ecco la mia layout dell'applicazione incluso chartkick e yielding chart_js application.html.e RB (il layout)

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

Qualcuno può dirmi il motivo per cui sto ottenendo questo errore e come risolvere il problema? Mi piacerebbe davvero iniziare a utilizzare Chartkick per generare alcuni grafici semplici.

risposta

11

Probabilmente hai perso Google Charts o Highcharts (gli adattatori).

Prova ad aggiungere questa riga <%= javascript_include_tag "//www.google.com/jsapi" %> prima del <%= javascript_include_tag "application", "chartkick" %>. Controlla anche la sezione Installazione nella pagina principale della gemma (scorri verso il basso :)).

+0

ho fatto perdere chiamando classifiche di Google. L'ho capito già. Ma grazie per la risposta! – nulltek

1

Un'altra causa di errore può essere il protocollo utilizzato in javascript_include_tag.

Per esempio si otterrà l'errore Error Loading Chart: No adapter found se per il protocollo HTTPS uso esempio per il tuo sito: https://www.example.com

e http nel javascript_include_tag nel codice:
<%= javascript_include_tag "http://www.google.com/jsapi", "chartkick" %>

1

Se sopra non risolvere per qualcuno, una possibilità aggiuntiva è un problema mixed content.

È possibile verificarlo aprendo la console JS.

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.

Soluzione:

basta cambiare questo

http://www.google.com/jsapi 

Per questo (aggiungere s al http)

https://www.google.com/jsapi 
Problemi correlati