只是想知道是否有一种方法可以直接在rails link_to帮助器中使用turbolinks,快速的谷歌搜索没有发现任何注意事项,这是我试图无济于事的类型。
<%= 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。
提前致谢。
答案 0 :(得分:95)
编辑Rails 5 +: @ManishShrivastava正确地指出了Rails 5所需的不同语法,如Joseph's answer所示。
<%= link_to('Giraffe', @giraffe, data: { turbolinks: false }) %>
对于Rails 4及以下
最初我认为你需要为符号使用哈希火箭语法,但事实并非如此。您可以使用data:
哈希,在该哈希中,使用下划线_
的任何符号都将转换为短划线-
。
我认为大多数Rails开发人员更愿意看到以下内容(包括我自己,我现在知道的更好):
<%= link_to('Giraffe', @giraffe, data: { no_turbolink: true }) %>
但以下也有效:
<%= link_to('Giraffe', @giraffe, 'data-no-turbolink' => true) %>
答案 1 :(得分:69)
Turbolinks 5使用略有不同的语法
<%= link_to "Foo", new_foo_path(@foo), data: { turbolinks: false } %>
答案 2 :(得分:16)
您可以使用没有问题的符号来生成以下代码:
<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"
。
答案 3 :(得分:6)
<div class="navigation">
<div class="alignleft"><?php next_posts_link('« Older Entries', '1000') ?></div>
<div class="alignright"><?php previous_posts_link('Newer Entries »', '1000') ?></div>
</div>
当我输入<%= link_to "Foo", new_foo_path(@foo), data: { turbolinks: 'false' } %>
时无法使用bool,只有在我使用字符串值turbolinks: false
时才有效。所以也许有人会帮助这些信息;)。
答案 4 :(得分:4)
或Ruby 1.9+语法:
<%= link_to 'Foo', foo_path(@foo), data: { no_turbolink: true } %>
但我最终放弃了turbolinks而转向Wiselinks ,这使得所有链接上的行为都是明确的,而Wiselinks也支持部分更新(例如分页),替换状态(不会污染浏览器历史记录,非常适合列排序),表单提交(非常适合搜索表单),重定向,支持没有历史API的浏览器,以及更智能的资产变更处理。
答案 5 :(得分:0)
如果您想使用区域设置更改语言,请执行以下操作:
<%= link_to content_tag(:span, "Українською"), {locale: :uk},
data:{ turbolinks: "false" }%>