1

Rails 4 と Turbolinks で Highcharts を使用しています。ページを切り替えたときにグラフが表示されないという問題に直面しました。

初期化スクリプトでこれを行うことでこれを修正しました:

var ready = function(){
    Highcharts.getOptions().colors = Highcharts.map(Highcharts.getOptions().colors,              function(color) {
    return {
        radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 },
        stops: [
            [0, color],
            [1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken
        ]
    };
});
//further initialization
}


$(document).ready(ready);
$(document).on('page:load', ready);

その後、ページにアクセスするたびにロードされました。しかし、チャート全体が黒です。複数の色の円グラフを使用しています。ただし、最初の色のみが表示されます。しかし、その後のページ訪問では、色はすべて黒です。

4

3 に答える 3

2

まったく同じ問題があり、ページのターボリンクを無効にすることで解決しました。

例 :

= link_to 'My charts page', charts_page_path, data: { turbolinks: false }

注意 :バージョン 5.0 から変更されたターボリンクを無効にする方法と、この投稿のリンクは古いバージョン用です。

したがって、これが機能しない場合は、ターボリンクのバージョンを確認してください:

  • バージョン 5.0+ の場合: 使用data: { turbolinks: false }
  • 古いバージョンの場合: 使用data: { no_turbolink: true }
于 2016-07-07T10:02:38.073 に答える
0

Turbolinks は jquery-mobile に似ています。ターボリンクを使用するページは単一ページ アプリケーションのように機能するため、それらの間で状態を維持する必要があります。グローバル変数を作成して nil かどうかを確認するか、ハイチャート ページのターボリンクを無効にすることができます。

于 2013-09-06T13:39:51.763 に答える