0

フォームには、データベースからの製品のリストがあり、すべての製品にはこれらのアイテムがフォームに含まれています。

= 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+'][]'

私は配列をループして、これらすべて ( itemitem_value1item_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}"
4

1 に答える 1

2

ここitemにはitem_value1との 3 つのパラメータがありますitem_value2。item を反復処理すると、 and からではなく、パラメーター項目からのみ値が得られintem_value1ますitem_value2。これら 3 つのパラメーターのインデックスが相対的な場合は、コードのようにインデックスを使用できます。

params[:item].each_with_index do |val, index|
  puts "#{params[:item_value1][index]} => #{params[:item_value1][index]}"
end
于 2012-09-12T14:23:29.793 に答える