私のビューの1つで組み込みJSで呼び出されたときにjQueryをロードできないレールアプリがあります。私は周りを見回したといくつかの一般的な解決策を見て、私は、私はすでに何をやったかリストアップしますしました:
jQueryの私のGemfileにコメントを外しリストされている:
gem 'jquery-rails'
jQueryのapplication.jsにロードされます。
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
application.html.erbは、タグで呼び出します。
<%= javascript_include_tag 'application', 'data-turbolinks-track'=> true %>
私はトンもしましたried:
<%= javascript_include_tag 'application' %>
これはどこが間違っていますか?
EDIT:
は、私はそれを動作させることができましたが、それは明確な回避策であり、私はより恒久的な解決策を考え出すしたいと思います。最初に、同僚がこのサーバーを少し別の方法で設定していて、application.html.erbが別のレイアウトによってオーバーライドされていることがわかりました。このレイアウトには、javascript_include_tag行がヘッド内(またはファイル内の他の場所)にありませんでした。その行のコードを追加したにもかかわらず、エラーは持続しました。私はオンラインのAPIリンク(https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js)からjquery.min.jsを保存し、資産フォルダに置かれ、その後、プリコンパイルおよびレイアウトの先頭に次の行を追加しました:
<%= javascript_include_tag 'jquery.min', 'data-turbolinks-track'=> true %>
これは、最終的にはアヤックスの結果私のjQueryスクリプト内でスクリプトを呼び出すことができます。しかし、まだ2つの問題があります:まず、私が上記のように、私はより永久に、よりハックの少ないソリューションを望んでいます。そして、第二に、Ajaxコールの成功関数は、私の私立のテストサーバー。コードは両者で同じなので、コード内で問題ではないことがわかっています。一般的にjQueryを迷惑にしている根本的な問題が何であれ、それが接続されていることはほぼ確実です。 <% = javascript_include_tag 'アプリケーション'、 'jqueryのを'、「データ:私はあなたが戻って追加
<%= javascript_include_tag "application" %>
バンドルインストール後にサーバーを再起動しましたか? – sa77
はい、しました。何度か –
そのページソースを調べると、jqueryがスクリプトタグで読み込まれているのが見えますか? –