Rails 4: Wie verwende ich $ (document) .ready () mit Turbolinks?

Ich bin auf ein Problem in meiner Rails 4-App gestoßen, als ich versucht habe, JS-Dateien "the Rails Way" zu organisieren. Sie waren zuvor auf verschiedene Ansichten verteilt. Ich habe sie in separaten Dateien organisiert und mit der Assets-Pipeline kompiliert. Ich habe jedoch gerade erfahren, dass das "ready" -Ereignis von jQuery bei nachfolgenden Klicks nicht ausgelöst wird, wenn die Turbo-Verknüpfung aktiviert ist. Wenn Sie zum ersten Mal eine Seite laden, funktioniert es. Aber wenn Sie auf einen Link klicken, wird alles imready( function($) { wird nicht ausgeführt (da die Seite nicht erneut geladen wird). Gute Erklärung:Hier.

Meine Frage lautet also: Wie kann ich sicherstellen, dass jQuery-Ereignisse ordnungsgemäß funktionieren, während Turbolinks aktiv sind? Packen Sie die Skripte in einen Rails-spezifischen Listener? Oder hat Rails vielleicht etwas Magie, die es unnötig macht? Die Dokumente sind ein wenig vage, wie dies funktionieren sollte, insbesondere in Bezug auf das Laden mehrerer Dateien über das Manifest (die Manifeste) wie application.js.

Antworten auf die Frage(18)

Ihre Antwort auf die Frage