2013-07-22 27 views
3

以下是非常混亂的參數對我說:發送帶有LINK_TO和數據沒有的TurboLink

第一個環節是正確沒有使用渦輪增壓鏈接,但查詢不被髮送 第二個環節是相反的情況

= 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" } 

我該如何讓兩者都能工作?

編輯,這個工程由於Sikachu

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

回答

2

link_to方法實際上由3個部分組成:

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

從這兩個例子中你寫在那裏,例如1混合在queryhtml_options ,並且示例2在data-no-turbolink中混合到options中。

我想,如果你把它改成這樣,它的工作:

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

或者更好的是,如果你有路徑助手,你可以用這個控制器/動作/查詢哈希替換成'action_controller_p ath(:query =>'query')' – sikachu

+0

turbo鏈接不會用這個激活,我看到了這個查詢。 – nevermind

+0

發佈速度太快;這個應該是'noturbo_yesquery'..是你想要的行爲嗎? – sikachu

2

我認爲下面的代碼是更正確的:

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

而且下面的代碼將作品:

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