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やdivなど、リンクを囲む要素に属性を含めるだけです。
前もって感謝します。
Rails 5 +:の編集)@ManishShrivastavaは、Rails 5 Joseph's answer に示すように。
<%= link_to('Giraffe', @giraffe, data: { turbolinks: false }) %>
For Rails 4 and below
もともと、シンボルにハッシュロケット構文を使用する必要があると思いましたが、そうではありません。 _data:
_ハッシュを使用でき、そのハッシュ内でアンダースコアを使用するシンボルはすべて__
_がダッシュ_-
_に変換されます。
私はほとんどのRails開発者は以下を見ることを好むと思います(私はより良く知っている私を含む):
<%= link_to('Giraffe', @giraffe, data: { no_turbolink: true }) %>
ただし、以下も機能します。
<%= link_to('Giraffe', @giraffe, 'data-no-turbolink' => true) %>
Turbolinks 5はわずかに異なる構文を使用します
<%= link_to "Foo", new_foo_path(@foo), data: { turbolinks: false } %>
問題なくシンボルを使用して、次のコードを生成できます。
<a data-no-turbolink='true' href="/giraffe-130">Giraffe</a>
以下を実行してください。
<%= link_to 'Giraffe', giraffe_path(@giraffe),
:data => { :no_turbolink => true } %>
注::no_turbolink
はno-turbolink
になり、値はto_json
を使用して自動的にJSONに変換されます。 true
から"true"
へ。
@ジョセフは正しいですが、わずかな変更のみ:
<%= link_to "Foo", new_foo_path(@foo), data: { turbolinks: 'false' } %>
turbolinks: false
と入力しているときはboolでは動作せず、値turbolinks: 'false'
に文字列を使用しているときのみ動作します。だから誰かがこの情報を手伝うかもしれません;)。
またはRuby 1.9+構文:
<%= link_to 'Foo', foo_path(@foo), data: { no_turbolink: true } %>
しかし、すべてのリンクで動作を明示的にする Wiselinks を優先してターボリンクを削除することになりました)、フォーム送信(検索フォームに最適)、リダイレクト、履歴APIを使用しないブラウザーのサポート、およびよりインテリジェントなアセット変更処理。
ロケールを使用して言語を変更する場合は、次のようにします。
<%= link_to content_tag(:span, "Українською"), {locale: :uk},
data:{ turbolinks: "false" }%>