web-dev-qa-db-fra.com

Utilisation de turbolinks dans un Rails link_to

Je me demandais simplement s'il y avait un moyen d'utiliser des liens turboliens directement dans une aide link_to de Rails, un petit coup de googging n'a rien révélé, voici le genre de chose que j'ai essayé en vain.

<%= link_to 'Giraffe', giraffe_path(@giraffe), :data-no-turbolink => 'true' %>
<%= link_to 'Giraffe', giraffe_path(@giraffe), :data { :no-turbolink => 'true'} %>

Je sais que vous pouvez le faire dans des liens réguliers comme celui-ci

<a data-no-turbolink='true' href="/giraffe-130">Giraffe</a>

Pour le moment, je ne fais qu'inclure l'attribut sur les éléments qui entourent le lien, tels que lis ou divs.

Merci d'avance. 

40
Gareth Jones

Turbolinks 5 utilise une syntaxe légèrement différente

<%= link_to "Foo", new_foo_path(@foo), data: { turbolinks: false } %>

Source: Turbolinks Github Page

69
Joseph N.

Vous pouvez utiliser un symbole sans problème pour générer le code suivant:

 <a data-no-turbolink='true' href="/giraffe-130">Giraffe</a>

Il suffit de faire ce qui suit:

 <%= link_to 'Giraffe', giraffe_path(@giraffe),
             :data => { :no_turbolink => true } %>

Remarque: :no_turbolink deviendra no-turbolink et la valeur sera convertie en JSON automatiquement à l'aide de to_json, par exemple true à "true".

16
Dinuz

@Joseph vous avez raison, mais seulement un petit changement:

<%= link_to "Foo", new_foo_path(@foo), data: { turbolinks: 'false' } %>

lorsque je tape turbolinks: false ne fonctionne pas avec bool, ne fonctionne que lorsque j'utilise string pour la valeur turbolinks: 'false'. Alors peut-être que quelqu'un aide cette information;).

6
Štefan Bartoš

Ou Ruby 1.9+ syntaxe:

<%= link_to 'Foo', foo_path(@foo), data: { no_turbolink: true } %>

Mais j'ai fini par abandonner turbolinks au profit de Wiselinks qui rend le comportement explicite sur tous les liens, plus Wiselinks prend également en charge la mise à jour partielle (par exemple, la pagination), le remplacement de l'état (ne pollue pas l'historique du navigateur, idéal pour le tri des colonnes) soumission (idéal pour les formulaires de recherche), redirections, prise en charge des navigateurs sans API d'historique et gestion plus intelligente des modifications d'actifs.

4
Andrew Hacking

quand vous voulez changer de langue en utilisant les paramètres régionaux, vous devez faire comme ici 

<%= link_to content_tag(:span, "Українською"),  {locale: :uk},  
data:{ turbolinks: "false" }%>
0
andriy