2013-10-02 7 views
11

Jak używać Chartkick w szynach 4.0.Używanie Chartkick w Rails 4.0

w Gem I dodaje:

gem "chartkick"

i moim zdaniem na przykład dodałem to:

<%= pie_chart({"Football" => 10, "Basketball" => 5}) %> 

ale strona pokazać tylko ładowanie .. . Wygenerowane html:

<div id="chart-1" style="height: 300px; text-align: center; color: 
#999; line-height: 300px; font-size: 14px; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif;"> Loading... </div> <script type="text/javascript"> new Chartkick.PieChart("chart-1", {"Football":10,"Basketball":5}, {}); </script> 

Odpowiedz

18

Pamiętaj, aby dołączyć pliki JavaScript przed wykresami.

<%= javascript_include_tag "//www.google.com/jsapi", "chartkick" %> 
+0

W szynach 4 application.js dodałem // = wymagam chartkick i // = wymagam jsapi. ale problem nie został rozwiązany –

+1

Znalazłem rozwiązanie. Muszę dodać // = wymagać jsapi i // = wymagać aplikacji chartkick na szczycie pliku application.js. –

20

Aby uzyskać chartkick pracy w Rails 4, zrobiłem następujący:

1. Dodane chartkick gem do mojego Gemfile (wiązki instalacji)

gem 'chartkick' 

2. Pobrano Google jsapi file w katalogu mojego dostawcy

/railsapp/vendor/assets/javascripts/jsapi.js 

3. Dodany chartkick i JSAPI do moich application.js

//= require jsapi 
//= require chartkick 

Po tym, wykresy pojawił się na stałe.

+0

to działało mi na szynach 3.2 – Flezcano

4

Istnieje rzeczywiście 2 sposoby, aby rozwiązać ten problem, należy zapoznać się z wytycznymi "instalacja": http://ankane.github.io/chartkick/

Na wykresach Google, użyj:

<%= javascript_include_tag "//www.google.com/jsapi", "chartkick" %> 

Jeśli wolisz Highcharts, przeznaczenie:

<%= javascript_include_tag "path/to/highcharts.js", "chartkick" %> 

Dla tych, którzy myślą o korzystaniu z jsapi w trybie offline, nie można naprawdę, nawet jeśli pobraliście plik jsapi.js, nadal stanowi on dodatkowe obciążenie dla google. Jesteś po prostu łamie warunki:

Wyciąg z: Google Charts FAQ

mogę wykorzystać wykresy w trybie offline?

Nie; Aby korzystać z wykresów, komputer musi mieć dostęp na żywo do urządzenia http://www.google.com/jsapi . Wynika to z faktu, że biblioteki wizualizacji, których wymaga Twoja strona, są ładowane dynamicznie przed ich użyciem. Kod ładowania odpowiedniej biblioteki jest częścią dołączonego skryptu jsapi i wywoływany jest po wywołaniu metody google.load(). Nasze warunki korzystania z usługi nie umożliwiają pobrania kodu google.load lub google.visualization w trybie offline.

Czy mogę pobrać i hostować kod mapy lokalnie lub w intranecie?

Przepraszam; nasze warunki korzystania z usługi nie zezwalają na pobieranie i zapisywanie ani na przechowywanie kodu google.load lub google.visualization.

5

Ładowanie wykresy superfast

używam highcharts tutaj, ponieważ nie wymaga podłączenia za każdym razem do google serwer

dodać ten klejnot

gem "chartkick" 

następnie pobrać highchart.js stąd http://www.highcharts.com/download

wkleić plik w app/vendor/assets/javascript/highchart.js

otworzyć application.js i wymagają te dwa pliki

//= require highcharts.js 
//= require chartkick 

Po tym jesteś dobry, aby przejść i wykresy będą ładowanie w mgnieniu oka

Powiązane problemy