2014-05-06 23 views
6

Renderuję wykres używając highstocks w aplikacji mojej szyny na pliku index.html.erb, jednak gdy próbuję wczytać wykres, pojawia się następujący błąd na konsoli firebug,ReferenceError: HighCharts nie jest zdefiniowany

ReferenceError: HighCharts is not defined 
new HighCharts.Chart({ 

Mój plik index.html.erb jest następujący

<div id="quotes_chart", style="width=560px; height:300px;"> 
<script> 
$(function(){ 
new HighCharts.Chart({ 
    chart : { 
    renderTo: "quotes_chart" 
    }, 
    title : { 
    text: "Daily trades" 
    }, 
    xAxis : { 
    type: "datetime" 
    }, 
    yAxis : { 
    title: { 
    text: "Shillings" 
    } 
    }, 
    tooltip : { 
    formatter: function(){ 
     return HighCharts.dateFormat("%B %e, %Y", this.x) + ': ' + "Kshs" + Highcharts.numberFormat(this.y, 2); 
    } 
    }, 
    series: [ 
    <% { "Telecommunication" => StockQuote.telecomm, "Agriculture" => StockQuote.agric }.each do |name, prices| 
%> 
{ 
    name: <%= name %>, 
    pointInterval: <%= 1.day * 1000 %>, 
    pointStart: <%= 2.weeks.ago.to_i * 1000 %>, 
    data: <%= (2.weeks.ago.to_date..Date.today).map { |date| StockQuote.price_on(date).to_f}.inspect%> 
}, 
<% end %> 
] 
}); 
}); 
</script> 
</div> 

W moim application.html.erb jest następujący:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<script src="components/highstock/highstock.js"></script> 
<%= javascript_include_tag "jquery-1.11.0.min", "highcharts" %> 

W folderze assests/javascripts mojej aplikacji znajdują się pliki jquery-1.11.0.min.js i highcharts.js pobrane z witryny highcharts.com

Co mogę zrobić źle?

Odpowiedz

2

Musisz ładować Highcharts tylko raz, nie dwa razy, jak masz. Polecam więc tylko:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<script src="components/highstock/highstock.js"></script> 

Ponieważ Highstock obejmuje wszystkie opcje Highcharts. Moreover, proszę zadbać o poprawne ścieżki do plików, ponieważ wygląda na to, że problem dotyczy tylko tego.

3

Ustawia wykres na wartość null, ponieważ ten błąd może wystąpić z powodu wielokrotnego oświadczenia, o którym możesz nie wiedzieć. Założenie to wszystkie importowane towary są poprawne.

Powiązane problemy