Rails生成与数组参数的链接

时间:2014-05-14 16:33:18

标签: ruby-on-rails arrays link-to

需要建议如何使用参数数组生成链接列表

/controller/action/id?pid1=1001&vid1=1002&pid2=2001&vid2=2002
/controller/action/id?pid1=1001&vid1=1002&pid2=2001&vid2=2003
/controller/action/id?pid1=7001&vid1=7002&pid2=2001&vid2=2003

其中 pid 是过滤器类型的ID,而 vid 是过滤器值的ID。

1 个答案:

答案 0 :(得分:0)

我认为你拥有的是数组中的参数

params_array = ["a","b","c", "d"]其中第一个参数是pid1,第二个参数是vid1,第三个参数是pid2,第四个参数是vid2

如果这是设置,那么试试这个:

link_to "this is some link text", some_path, :pid1 => params_array[0], :vid2 => params_array[1] %>

等......有更好的方法可以使用循环/等。更好地格式化params,但为了做到这一点,我需要知道你的原始params是什么样的。

编辑:同样,我真的不确定您的数据是如何格式化的,所以为了能够为您提供更多有用的帮助,您需要使用更多数据扩展问题。

我可以告诉你的是,如果你想要一个循环来完成并合并params,你可以这样做:

pid_parameters = params_array.each_with_index.map {|e, i| {"#{i%2==0 ? "pid" : "vid"}#{i+1}" => a[i]}}

然后link_to "this is some link text", some_path, pid_parameters会生成类似的内容:

/controller/action/id?pid1=1001&vid2=1002&pid3=2001&vid4=2002

再次提供更多相关信息。感谢