2016-12-21 9 views
0

私のビューの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" %> 
+0

バンドルインストール後にサーバーを再起動しましたか? – sa77

+0

はい、しました。何度か –

+0

そのページソースを調べると、jqueryがスクリプトタグで読み込まれているのが見えますか? –

答えて

1

しようとするスイッチング

<%= javascript_include_tag "application", data-turbolinks-track'=> true %> 

役立ったと思うjavascriptのコードの下のファイルの読み込み問題の使用

0

-turbolinks-track '=> true %>

jqueryファイルがページにロードされているかどうかを確認してください。

また、あなたがした回避策はハッキーでも悪いことでもありませんが、私にとっては実際にはgulpがすべての資産を処理するようにしたいと思います。ルビーがあなたの資産を管理する方法はかなり遅く、あなたはuiルータと角度をつけようとしていますが、私がコンパイルして、gulpでmangleするのと同じアセットは約10秒かかっています。ルビーでは1分以上かかります。

最後に、bowerについて聞いたことがありますか?それは素晴らしいパッケージマネージャーです、あなたのアプリケーションにdepenciesを追加するのはかなり簡単です。

+0

あなたは何を伝えようとしているのか理解できません。あなたのコメントを編集して校正や校正をしてください。 –

関連する問題