簡體   English   中英

Rails link_to 工作怪異

[英]Rails link_to working wierd

我在部分(update_dashboard)中設置了一個link_to,它看起來像這樣

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

'hash' 是我傳遞給控制器​​的一組輸入。

可以看出。 我希望“鏈接”映射到“結果”控制器中的“update_report”操作。

但是,我發現在頁面呈現后,當我單擊鏈接時,它只會在新頁面中顯示部分內容。

我進入了 Firebug,這就是鏈接的呈現方式

<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 指向 /test/update_dashboard ? 為什么不采用我為控制器屬性提供的參數

任何幫助是極大的贊賞。

嘗試,

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

如果您沒有使用 rails 當前版本,請嘗試使用

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

參考

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

由於 'hash' 變量是帶有鍵和值的真實哈希,您需要將它與 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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM