query strings built by R method can&#39;t handle multiple values from checkbox selections<br><br>R(SomeRoute, :reply_status=&gt;%w{1 2 4}) <br>should return<br>query_string=&quot;<a href="http://localhost:3301/someroute/?reply_status_id=1&amp;reply_status_id=2&amp;reply_status_id=4">http://localhost:3301/someroute/?reply_status_id=1&amp;reply_status_id=2&amp;reply_status_id=4</a>&quot;<br>
<br>qsp(query_string) -&gt; {&quot;reply_status_id&quot;=&gt;[&quot;1&quot;, &quot;2&quot;, &quot;4&quot;]}<br>
<br><br>from camping_unabridged.rb<br>&nbsp;&nbsp;&nbsp; def R(c,*g)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p,h=/\(.+?\)/,g.grep(Hash)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g-=h<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; raise &quot;bad route&quot; unless u = c.urls.find{|x|<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break x if x.scan(p).size == g.size &amp;&amp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /^#{x}\/?$/ =~ (x=g.inject(x){|x,a|<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x.sub p,C.escape((a[a.class.primary_key]rescue a))})<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h.any?? u+&quot;?&quot;+h[0].map{|x|x.map{|z|C.escape z}*&quot;=&quot;}*&quot;&amp;&quot;: u<br>
&nbsp;&nbsp;&nbsp; end<br><br>----<br>i think it would work if modified as:<br><br>&nbsp;&nbsp;&nbsp; h[0].map{|x|<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; k, v=x<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if v.is_a?Array<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v.map{|v2| [C.escape( k), C.escape( v2)]*&quot;=&quot;} * &quot;&amp;&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x.map{|z| C.escape z}*&quot;=&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br>&nbsp;&nbsp;&nbsp; }*&quot;&amp;&quot;<br><br><br clear="all">