11

昨日まで、jQuery は私の Rails アプリで問題なくロードされていました。debugger/ruby-debug gem をインストールして遊んでいました。おそらくご存知のように、Rails 3 のデバッガー gem には問題があり、依存関係のインストールに失敗したため、Gemfile から gem を削除しました。それ以来、私のサイトをロードするときにjQueryがロードされていません。コンソールに表示されるメッセージは次のとおりです。

assets/jquery_ujs.js?body=1:377Uncaught ReferenceError: jQuery is not defined
bootstrap-transition.js:24Uncaught TypeError: undefined is not a function
bootstrap.js:3Uncaught ReferenceError: jQuery is not defined
welcome:210Uncaught ReferenceError: $ is not defined

そして、ここに私のapplication.jsファイルがあります:

//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require_tree .

このように、jQuery を明示的に layouts/application.html.erb にロードすると、次のように動作します。

<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" %>
<%= javascript_include_tag "application" %>

これを解決して jQuery を再度読み込むためにできることについて何か考えはありますか? .rvm/gems/ruby-1.9.3-p125/gems/jquery-rails-2.0.2/vendor/assets/javascripts を見ると、jquery.js と jquery.min.js がまだそこにあることがわかります。

4

3 に答える 3

11

ありがとう@Djj。application.js ツリーの順序を変更すると、問題が解決したようです。これが私の改訂されたツリーです:

//= require jquery_ujs
//= require jquery
//= require twitter/bootstrap
//= require jquery.placeholder
//= require_tree .
于 2012-05-15T14:11:30.717 に答える
4

私の場合、問題はjavascriptファイルを非同期にロードすることが原因でした。

<%= javascript_include_tag "application", :async => true %>

に戻る

<%= javascript_include_tag "application" %>

問題を解決しました。

于 2014-01-14T16:05:35.993 に答える
0

長い時間を費やした後、これでエラーに関する問題が解決しました。

Jquery が 1 回だけ読み込まれるようにします。

gem 'jquery-rails' Gemfile にインクルードして行う$ bundle install

これらを必ずapp/assets/javascripts/application.jsファイルに含めてください。

//= require jquery
//= require jquery_ujs

構文が間違っている // require jqueryと、jquery が読み込まれません。

すべてが正しく含まれている場合、html ファイルのページ ソースには、含まれているすべてのソース ファイルが表示されている必要があります。

私にとっては、app/assets/javascript の下の application.js ファイルでそれを要求することとは別に、app/views/layouts の下の application.html.erb で Google から jquery プラグイン ソースを明示的にロードしていたため、問題がありました。これにより、jquery が再度定義され、定義されていない、定義されていplaceholder()ないなどのいくつかのエラーがポップアップ表示されました。oApinull

于 2013-07-08T12:33:57.723 に答える