Ich habe eine Rails-App, die jQuery nicht laden kann, wenn in einigen eingebetteten JS in einer meiner Ansichten aufgerufen. Ich habe umsah und einige gemeinsame Lösungen gesehen, also werde ich Liste, was ich bereits getan:
jQuery ist unkommentiert aufgelistet in meinem Gemfile:
gem 'jquery-rails'
jQuery ist in application.js geladen:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
application.html.erb ruft mit dem Tag gehören:
<%= javascript_include_tag 'application', 'data-turbolinks-track'=> true %>
ich habe auch t ried:
<%= javascript_include_tag 'application' %>
Wo könnte das schief gehen?
EDIT:
konnte ich es zum Laufen bringen, aber es ist eine bestimmte Problemumgehung und ich möchte eine dauerhaftere Lösung, um herauszufinden. Zuerst fand ich heraus, dass ein Kollege diesen Server etwas anders eingerichtet hatte und application.html.erb wurde von einem anderen Layout überschrieben, das die javascript_include_tag-Zeile im Kopf (oder anderswo in der Datei) nicht enthielt. Trotz des Hinzufügens dieser Codezeile blieb der Fehler bestehen. Ich sparte jquery.min.js aus dem Online-API Link (https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js) und im Vermögen Ordner abgelegt, dann vorkompilierte und fügte hinzu, die folgende Zeile in den Kopf des Layouts:
<%= javascript_include_tag 'jquery.min', 'data-turbolinks-track'=> true %>
Diese schließlich in der Ajax-Folge Rufen Sie innerhalb meines jQuery-Skripts erfolgreich ein Skript auf. Es gibt jedoch noch zwei Probleme: Erstens möchte ich, wie ich oben sagte, eine dauerhaftere und weniger hackische Lösung, und zweitens funktioniert die Erfolgsfunktion des Ajax-Aufrufs nicht, obwohl sie auf meinem privaten Testserver korrekt funktioniert . Der Code ist der gleiche zwischen den beiden, also weiß ich, dass es kein Problem im Code ist, und ich bin fast sicher, dass es mit dem zugrunde liegenden Problem verbunden ist, das mit jQuery im Allgemeinen zu tun hat.
Haben Sie den Server nach der Bundle-Installation neu gestartet? – sa77
Ja, habe ich. Mehrere Male –
Wenn Sie diese Seitenquelle überprüfen, sehen Sie, wie jquery in ein Skript-Tag geladen wird? –