使用Link_to和Data-no-turbolink发送参数

时间:2013-07-22 16:33:34

标签: ruby-on-rails link-to

以下内容让我非常困惑:

第一个链接正确不使用turbo链接但查询未发送 第二个环节是相反的情况

 = link_to 'yesturbo_noquery', "/controller/action", "data-no-turbolink" => true,   query: "hello"
 = link_to "noturbo_yesquery", {'data-no-turbolink' => true, :controller => "controller", :action => "action", :query => "hello" }

如何使两者都有效?

编辑,这适用于谢卡奇

 = link_to 'yesturbo_yesquery', controller_action_path(:query => 'hello'), "data-no-turbolink" => true

2 个答案:

答案 0 :(得分:2)

link_to方法实际上由3部分组成:

link_to(name = nil, options = nil, html_options = nil, &block)

从您在那里写的两个示例中,示例1在query中混合到html_options中,示例2在data-no-turbolink中混合到options中。

我认为如果你改成它,它会起作用:

link_to 'noturbo_yesquery', {:controller => 'controller', :action => 'action', :query => 'query'}, :data-no-turbolink => true

答案 1 :(得分:2)

我认为以下代码更正确:

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

以下代码也适用:

<%= link_to('Product', @product, 'data-no-turbolink' => true) %>