Comme arbitré Rails 5 Awesome features
Turbolinks a fait partie des rails depuis la version 4, probablement l'une des caractéristiques que les gens détestent ou l'amour; il n'y a pas de terrain d'entente ici. Avec Rails 5, nous allons recevoir une nouvelle version qui, avec l'aide des attributs de données personnalisés HTML5, nous attend une meilleure vitesse et un meilleur rendu dans nos applications Rails.
Le changement le plus important dans cette nouvelle version est la fonctionnalité de remplacement partiel. Du côté des clients, nous serons en mesure de dire à Turbolinks quel contenu avons-nous besoin de changer/remplacer et ce que nous n'avons pas. Les turbolinks rechercheront les attributs personnalisés HTML5 et décideront de la stratégie de remplacement dans notre.
Pour déclencher un remplacement du côté client, nous pourrions utiliser ou mettre à jour notre. La différence entre et est que le premier va émettre un au serveur pour obtenir le code HTML qui doit être utilisé pour remplacer notre code HTML qui devrait être utilisé pour son fonctionnement.
Avec les deux fonctions, nous pouvons passer un hachage avec un ou un tableau d'éléments HTML à ou.
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
Nous pouvons déclencher les mêmes fonctionnalités du côté serveur avec et, les deux peuvent recevoir, et que les options mais peut aussi recevoir avec ou pour forcer une redirection avec ou sans Turbolinks. Que vous aimiez ou non les turbocompresseurs, c'est peut-être le bon moment pour essayer et savoir si cela peut être un bon ajustement quelque part dans votre application.
Qu'est-ce que vous ne voulez pas dire? –
J'ouvre mon site www.example.com -> tout va bien J'ouvre une autre page -> www.example.com/xyz puis cliquez sur le bouton de retour, maintenant la page ne s'affiche pas correctement. –
Vous voulez dire que le rendu des pages ne fonctionne pas? ou les fonctions JS ne se chargent pas? –