1

2つの別々のビューに2つの別々のグラフを描画しようとしています。1つはProject#Indexページに、もう1つはProject#Showページにあります。モデルごとに同じ場所に異なるグラフを配置する予定なのでapp/assets/javascripts/、モデルに対応するフォルダーを作成し、それらのグラフに必要なすべてのJavascriptファイルを含めます(現在、グラフごとに1つのファイルがあります)。それらを個別に描画することはできますが、両方のファイルをブラウザーに提供すると、HTMLソースコードで最初にリストされているファイルのみが描画されます。両方のグラフが異なるものにレンダリングされていることを確認しましたdivが、それは役に立たないようです。WebブラウザでJavascriptコンソールを見ると、次のエラーが発生します。

Uncaught Highcharts error #13: www.highcharts.com/errors/13 

divこれは、グラフがレンダリングするように指示されたグラフを見つけることができないことを意味します。

これは理にかなっています。両方のグラフがページに提供されていますが、対応するグラフを見つけることができるのは1つだけdivです。一方を見ることができ、もう一方を見ることができないことも、これによって部分的に説明されます-HTMLソースで最初にリストされているグラフは機能し、エラーは、2番目のグラフがそれを見つけることができないというHighchartsdivです。2番目のグラフのページに移動すると、Highchartsは最初のグラフでエラーになり、2番目のグラフはレンダリングされないままになります。

これを整理するためのより良い方法はありますか?モデルに関連するすべてのJavascriptを1つのファイルに保存する必要がありますか?私はdivsを間違って参照していますか?

4

1 に答える 1

1

それで、もう少し調査し、友人からの助けを借りて、私はかなり適切な答えに出くわしました:

もともと、私は私の中に次の行を持っていましたapp/assets/javascripts/application.js:

//= require_tree .

これは、ディレクトリ内にあったものを含め、そのディレクトリ内のすべてのファイルを提供するようにレールサーバーに指示します。

これを次のように変更することで

//= require_directory .

Rails サーバーは、そのディレクトリに直接配置されているファイルのみを提供するようになりました。

これによりjavascript_include_tag、各ビューに個々のを追加できるようになりました。

= javascript_include_tag "projects/show"

これでグラフが機能し、サーバーが不必要に Javascript を提供しなくなりました!

于 2012-11-19T05:38:47.563 に答える