mosowave

sinamon129による(主に)技術ブログ。Ruby,Ruby on Rails,Elasticsearchやその他について書きます。

chartkickでHigh Chartsを使おうとした時に引っかかった話

chartkickといういい感じにグラフを表示してくれるgemがあります。

JavaScriptのライブラリを読み込む時に、GooglechartsかHigh Chartsを利用できて、High Chartsを使おうとした時に、

If you prefer Highcharts, use:<%= javascript_include_tag "path/to/highcharts.js", "chartkick" %>

とREADMEに書いてあったので、

app/assets/javascripts以下にhighcharts.jsを置いて、

app/views/layouts/application.html.erbに

<%= javascript_include_tag "highcharts", "chartkick" %>

と書くと、app/assets/javascrips/applications.jsに書いてないものはprecompileされないから、そんなものねーといわれる

なので、
app/assets/javascrips/applications.jsに

//= require highcharts

を追加したら、

Highcharts already defined in the pageといわれる。どうやら2重で読み込まれてしまったらしい。

結局、

  • app/views/layouts/application.html.erbから

<%= javascript_include_tag "highcharts", "chartkick" %>

の表記を削除

  • app/assets/javascrips/applications.jsに

//= require highcharts
//= require chartkick

を記述

することでうまくいった。