Ruby - 循环遍历数组

时间:2012-09-12 14:12:52

标签: ruby arrays loops

在表单中,我有一个来自数据库的产品列表,每个产品都有以下形式的这些项目:

= text_field_tag 'item['+product.id.to_s+'][]'
= text_field_tag 'item_value1['+product.id.to_s+'][]'
= text_field_tag 'item_value2['+product.id.to_s+'][]'

我正在尝试遍历数组并以这种方式获取所有这些( item_value1 item_value2 ):

params[:item].each_with_index do |val, index|
  puts "#{val[0]} => #{val[1]}"
end

,输出如下:

191359 => [""]
191361 => [""]
191360 => ["15"]
191212 => [""]
191210 => ["9"]
248974 => [""]
191209 => [""]
190920 => [""]
190919 => [""]
190921 => [""]

但是,如何获取相应产品的所有数据?像

这样的东西
puts "item: #{item}, item_value1: #{item_value1}, item_value2: #{item_value2}"

1 个答案:

答案 0 :(得分:2)

此处有三个参数itemitem_value1item_value2。对项目进行迭代将仅为参数项提供值,而不是intem_value1item_value2。如果这3个参数的索引是相对的,那么您可以像在代码中那样使用索引

params[:item].each_with_index do |val, index|
  puts "#{params[:item_value1][index]} => #{params[:item_value1][index]}"
end