44

Rails link_toヘルパーでターボリンクを直接使用する方法があるかどうか疑問に思っていたのですが、ちょっとグーグルしても何もわかりませんでした。これが私が役に立たなかったタイプのことです。

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

私はあなたがこのような通常のリンクでそれを行うことができることを知っています

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

現在、lisやdivsなどのリンクを囲む要素の属性を含めています。

前もって感謝します。

4

6 に答える 6

105

Rails 5以降の編集: @ManishShrivastavaは、 Josephの回答に示されているように、Rails5に必要なさまざまな構文を正しく指摘しました。

<%= link_to('Giraffe', @giraffe, data: { turbolinks: false }) %>

Rails4以下の場合

もともと、シンボルにハッシュロケット構文を使用する必要があると思っていましたが、そうではありません。ハッシュを使用でき、data:そのハッシュ内でアンダースコア_を使用する記号はダッシュに変換され-ます。

ほとんどのRails開発者は、次のことを望んでいると思います(私がよく知っているので、私も含めて)。

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

ただし、以下も機能します。

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

于 2013-01-14T01:49:03.457 に答える
71

Turbolinks5はわずかに異なる構文を使用します

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

出典:TurbolinksGithubページ

于 2016-06-23T18:27:39.193 に答える
17

シンボルを問題なく使用して、次のコードを生成できます。

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

次の手順を実行してください。

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

注::no_turbolinkになり、値は、などをno-turbolink使用して自動的にJSONに変換されます。to_jsontrue"true"

于 2013-01-27T01:20:50.033 に答える
6

@Josephあなたは正しいですが、ほんの小さな変更です:

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

入力しているときはturbolinks: falseboolでは機能せず、値に文字列を使用している場合にのみ機能しますturbolinks: 'false'。だから多分誰かがこの情報を手伝ってくれるでしょう;)。

于 2016-07-07T08:40:48.043 に答える
4

またはRuby1.9以降の構文:

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

しかし、すべてのリンクで動作を明示するWiselinksを優先して、ターボリンクを削除することになりました。さらに、Wiselinksは、部分的な更新(ページングなど)、状態の置換(ブラウザーの履歴を汚染しない、列の並べ替えに最適)、フォームの送信(検索フォーム)、リダイレクト、履歴APIのないブラウザのサポート、およびよりインテリジェントなアセット変更処理。

于 2013-08-20T07:08:58.277 に答える
0

ロケールを使用して言語を変更したい場合は、次のようにします。

<%= link_to content_tag(:span, "Українською"),  {locale: :uk},  
data:{ turbolinks: "false" }%>
于 2017-02-21T13:23:24.840 に答える