0

Rails 3.1にアップグレードしたばかりですが、新しいアセットパイプラインでJavascriptをロードする際に問題が発生します。

jsファイル(ファイル自体とその.minバリアントの両方)を/ app /assets /javascriptsディレクトリにコピーしました。application.jsマニフェストは次のとおりです。

//= require jquery
//= require jquery_ujs
//= require jquery-easytabs
//= require jquery-hashchange.min
//= require_tree .

しかし、これは機能していないようです。Easytabsが正しくロードされていません。不思議なことに、コンパイルされたapplication.jsファイルをコンソールで見ると、Easytabsコードが表示されますが、機能していません。

コードをapplication.jsファイルに直接貼り付けると、期待どおりに機能することがわかったので、スクリプトが機能していることがわかります。ただし、これはapplication.jsファイルの使用目的ではありません。

jsファイルが正しく読み込まれるようにするために、次に進むべき場所についてのガイダンスをいただければ幸いです。

ありがとう!

4

2 に答える 2

0

すべてのプラグイン(easytabsなど)をベンダーディレクトリに移動してみてください。

vendor/assets/javascripts/

次に、application.jsファイルを次のように変更します。

//= require jquery
//= require jquery_ujs
//= require_tree ../../../vendor/assets/javascripts
//= require_tree .

特定のコントローラー用に作成したコードのみをapp/Assets / javascriptsディレクトリに配置する必要があります。プラグインなど、その他すべてはベンダーディレクトリに配置する必要があります。

于 2011-06-10T13:31:51.937 に答える
0

私はなんとかこれの底に到達することができました-requireの順序はアルファベット順のようですので、jquery_easytabsはjquery_ujsの前にコンパイルされていました。jquery_zeasytabsに名前を変更することでこれを修正しました-最もクリーンではありませんが、機能します。

于 2011-06-10T21:16:14.687 に答える