Ich bemerke etwas Seltsames, wenn ich das jQuery-Ready-Event in Rails verwende. Wenn das Handler im Abschnitt hinzugefügt wird, entweder direkt innerhalb von Skript-Tags oder in Asset-Pipeline-Dateien, die mit <%= javascript_include_tag ...
eingebunden sind, wird es nur beim ersten Seitenaufruf ausgeführt und nicht bei nachfolgenden Aufrufen. Das heißt, explizite Browseraktionen zum Laden/Aktualisieren einer Seite führen es aus, neue Seitenansichten, die durch Klicken auf Links ausgelöst werden, jedoch nicht.
Andererseits, wenn es im enthalten ist, wird es jedes Mal bei jeder Seitenansicht ausgeführt - wie man es erwarten würde.
jQuery(document).ready(function(){
console.log('Bereit im Kopf'); // Wird nur beim ersten Seitenaufruf ausgeführt
});
jQuery(document).ready(function(){
console.log('Bereit im Körper'); // Wird jedes Mal ausgeführt
});
Wirklich verwirrt. Ich sehe es in all meinen Rails-Apps, aber verstehe nicht, wie Rails dies beeinflussen könnte, da jQuery eine clientseitige Technologie ist??