2016-03-24 6 views
0

私はJQueryとHighchartsを使用しています。jQueryを使用してRails 3.2にページ関連のJavaScriptコードを配置する必要がありますか?

ここで、それは私のアプリ/資産/ JavaScriptの/フォルダの内容です:

application.js 
graphique_repartition_budgetaire.js.erb 
proj_charge.js.erb 

ここで、それは私のアプリ/資産/ JavaScriptの/ application.jsファイルです

// This is a manifest file ... bla bla bla ... 
// 
//= require jquery 
//= require jquery_ujs 
//= require_tree . 
//= require highcharts 

ここで、それは私のアプリであります/assets/javascripts/graphique_repartition_budgetaire.js.erbファイル

$(function() { 
    Highcharts.setOptions({ 
     lang: { 
      thousandsSep: "'" 
     } 
    }); 
    $('#graphique-repartition-budgetaire').highcharts({ 
     // my graphic code is here.... 
    }); 
}); 

があるまでは、正常に動作しています。 他の特定のページの他のjavascript/JQueryをコーディングしようとすると、問題が発生します。私は、ファイルアプリ/資産/ JavaScriptの/ proj_charge.js.erbにこの新しいコードを置く:

$(function() { 
    alert('JQuery is ready !'); 
}); 

このファイルは実行されず、いずれかのロードされていないようです。 なぜですか? すべてのjQueryコードを同じファイルに入れる必要がありますか? 私はJavascriptとJQueryの初心者ですので、同じことを2回宣言することが禁じられているかどうかわかりません。$(function() {});

私は間違っていますか?

=== EDIT ===

私は私のapplicationjsファイルの末尾にコードが含まれていました。

// This is a manifest file ... bla bla bla ... 
// 
//= require jquery 
//= require jquery_ujs 
//= require_tree . 
//= require highchart 
$(function() { 
    alert('JQuery is ready !'); 
}); 

それから私は私のウェブサーバ、コンパイルされた資産、および再起動し、Webサーバーを停止:

/etc/init.d/apache2 stop 
rake assets:precompile 
/etc/init.d/apache2 start 

Firebugのソースページに何も表示されず、コードが表示されません。

+1

は$(関数(){})の宣言。 DOMが準備ができているかどうかをチェックしているため、複数回実行する必要はありません。それがロードされていないという事実は、Railsとは別の問題だと思います。 – Zinc

答えて

0

私はついにこれを解決しました。

この問題は、Highchartsとアセットパイプラインを使用して開発環境から発生していました。 実際、ハイチャートのjavascriptグラフコールは、app/assets/javascripts/graphique_repartition_budgetaire.js.erbに存在し、プレコンパイル済みの資産(私のrake assets:precompileコマンドで構築されたもの)にも存在していました。これは、このエラーerror in Highchart library

を引き起こした

を実行するproj_charge.js.erbで私のJavaScriptコードを防止します。 そのため、警告メッセージが表示されませんでした。

Iは、次の記事で開発効率モードでこの資産プリコンパイルの問題を解決するための解決策を説明:

Why is Highchart loaded twice in my rails app ? (Uncaught Highcharts error #16)
関連する問題