我想在的link_to块添加URL参数。
目前的代码<%= link_to "Submit", :action => 'renderChart', :class => "btn", :remote => true, :params => params.merge(:limit => 5) %>
但是这给了我一个错误。
它添加了:类:动作到URL参数,而不仅仅是:限制。 为什么?
编辑:
我添加其他网址参数的其他链接,看起来像这样
link_to "Toggle Sort Direction",:action => 'renderChart', :remote => true, :params => {:sort => "desc"}
因此,当用户点击链接等我要限制添加到网址参数,并保持排序PARAMS
我终于得到了一个解决方案自己。
如果我很简单地做到这一点: :params => {:limit => ..., :sort => params[:sort]}
我得到正是我需要的。 如果有一种PARAM它保持它,它是这样的。
用这个
<%= link_to "Submit",{ :action => 'renderChart', :remote => true, :limit => 5, :sort => "desc"}, :class => "btn" %>
分离出html_options
: class
是html_option所以最后通过。
请参阅的link_to文档。
UPDATE
由于每OP在问题的EDIT部分关注:
我添加其他网址参数的其他链接,看起来像这样
link_to "Toggle Sort Direction",:action => 'renderChart', :remote => true, :params => {:sort => "desc"}
PARAMS :sort => "desc"
是用于Toggle Sort Direction
链路和它们不能被连接到Submit
链接。 当你点击一个特定的链接,在链接中指定PARAMS将被添加到params
哈希值。 所以,如果你需要传递:sort => "desc"
作为PARAMS在点击Submit
链接则明确指定如图我的回答以上。
你需要明确分开的哈希值:
<%= link_to "Submit", { :action => 'renderChart', :class => "btn", :remote => true }, params.merge(:limit => 5) %>
采取link_to
出来,你有一个隐含的哈希(键-值对)和Ruby是足够聪明,知道你想要的哈希:
:action => 'renderChart', :class => "btn", :remote => true, params.merge(:limit => 5)
但是,过去的事情 - 这不是一个键值对 - 这是一个哈希值。 所以真的,你有这样的:
{ :action => 'renderChart', :class => "btn", :remote => true, { ... } }
如果你把Rails的出混合:
{ x: 'value', {} }
而这根本就不是一个有效的哈希:)