2012-04-19 62 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