2012-04-19 69 views
-1

我已經設置了在部分(update_dashboard)一個的link_to和它看起來像這樣導軌的link_to工作奇怪

link_to "Link", hash, {:url => {:controller => "results", :action => "update_report"}},  :remote => true 

「散列」是一組我傳遞到控制器的輸入。

可以看出。我想要「鏈接」映射到'結果'控制器中的'update_report'動作。

但是,我發現頁面呈現後,當我點擊鏈接時,它只是在新頁面中顯示部分。

我走進螢火蟲,這是鏈接如何呈現

<a url="{:controller=>"results", :action=>"update_report"}" href="/test/update_dashboard?branch=xxxx&brand=xx&end_time=2012-02-29+22%3A59&repo=xxxx%2Fxx&start_time=2012-02-17+18%3A20">Link</a> 

爲什麼在href指向/測試/ update_dashboard?爲什麼不採取我提供的控制器屬性參數

任何幫助,非常感謝。

回答

0

看一看的link_to方法源在:https://github.com/rails/rails/blob/master/actionpack/lib/action_view/helpers/url_helper.rb#L236

由於'哈希'變量是一個真正的哈希與k餘仁生和價值觀,你需要使用URL的哈希像這樣把它合併:

<% hash = { :param1 => "value1", :param2 => "value2"} %> 
<%= link_to 'MyLink', { :controller => "questions", :action => "index" }.merge(hash), :id => "link_id", :class => "link_class" %> 

它產生的鏈接你想:

<a href="/questions?param1=value1&amp;param2=value2" class="link_class" id="link_id">MyLink</a> 
+0

太棒了!那工作 – Vignesh 2012-04-20 15:40:04

+0

太棒了!祝你好運與Rails)! – makaroni4 2012-04-20 23:23:38

0

嘗試,

<%= link_to "Link", { 
     :controller => "results", 
     :action => "update_report", 
     :hash => hash, 
     :remote => true } %> 

,如果你沒有使用軌當前版本中,嘗試使用

link_to_remote "link", :update => "results", 
:url => { :controller => "results", :action => "update_report", :hash => hash } 

Reference

+0

感謝。我會試一試。我正在使用Rails 3.1 – Vignesh 2012-04-19 21:17:28

+0

這鏈接到正確的控制器和操作,但不能生成所需格式的鏈接 – Vignesh 2012-04-20 15:41:07