需要建议如何使用参数数组生成链接列表
/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。
答案 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
再次提供更多相关信息。感谢