Als Begutachtete zu Rails 5 Awesome features
Turbolinks ist seit Version 4 Teil Rails, wahrscheinlich eines der Merkmale, die Menschen es oder Liebe hassen; hier gibt es keinen Mittelweg.
Mit Rails 5 erhalten wir eine neue Version, die mit Hilfe von HTML5 benutzerdefinierten Datenattributen bessere Geschwindigkeit und Rendering in unseren Rails-Anwendungen erwarten lässt.
Die wichtigste Änderung in dieser neuen Version ist die Partial Replacement-Funktion. Auf der Client-Seite können wir Turbolinks mitteilen, welchen Inhalt wir ändern/ersetzen müssen und was nicht.
Turbolinks sucht nach HTML5 benutzerdefinierten Attributen und entscheidet die Ersatzstrategie in unserem.
Um einen Ersatz auf der Client-Seite auszulösen, könnten wir unseren verwenden oder aktualisieren. Der Unterschied zwischen und ist, dass die erste eine an den Server ausgibt, um den HTML zu erhalten, der verwendet werden muss, um unsere while zu ersetzen, erwartet von uns den HTML, der für seinen Betrieb verwendet werden sollte.
Mit beiden Funktionen können wir einen Hash mit einem oder einem Array von HTML-Elementen an oder übergeben.
Action Result
Turbolinks.visit(url, { change: ['entries'] }) Will replace any element with custom attribute and any element with its id listed in change.
Turbolinks.visit(url) Will keep only elements with custom attribute and replace everything.
Turbolinks.visit(url, { keep: ['flash'] }) Will keep only elements with custom attribute and any element with its id listed in keep, everything else will be replaced.
Turbolinks.visit(url, { flush: true }) Will replace everything
Wir können die gleiche Funktionalität von der Server-Seite auslösen mit und können sowohl empfangen und als Optionen, aber mit auch empfangen kann oder eine Umleitung mit oder ohne Turbolinks zu erzwingen.
Ob Sie nun Turbolinks mögen oder nicht, dies könnte ein guter Zeitpunkt sein, um auszuprobieren und herauszufinden, ob es irgendwo in Ihrer Anwendung gut passt.
was genau nicht laden Sie zu sagen? –
Ich öffne meine Website www.example.com -> alles in Ordnung Ich öffne eine andere Seite -> www.example.com/xyz dann klicken Sie auf die Schaltfläche zurück, jetzt Seite nicht richtig zu rendern. –
Sie wollen sagen, Seite Rendering funktioniert nicht? oder JS-Funktionen werden nicht geladen? –