循环遍历Ruby中的哈希

时间:2014-03-08 21:07:19

标签: ruby-on-rails ruby hash

我的搜索返回此哈希     {"产品" => [{:标题=>"它关于鞋子Barbie Shoe Tree 2010 Hallmark Ornament"},{:title =>&# 34; Iron Lady Bug Key Holder - Hide-A-Key"}]}

这是循环和生成散列的代码

id = "B003TM2IDS,B004X75EX4"
ids = id.split(',')

response = []
prod = Hash.new
product = Hash.new

#fetch product title from amazon
for aid in ids do
 res = Amazon::Ecs.item_lookup(aid, { :response_group => "ItemAttributes"})
 res.items.each do |item|
   prod[:title] = item.get("ItemAttributes/Title")
 end

 # hash
 product = {"product" => response.push(prod.dup)}
end

#loop to print the titles - Not working
product.each do |item_prod|
  puts item_prod.title
end

我确实得到了 未定义的方法`title' #(NoMethodError)

我的问题是:

  • 产品哈希是否正确?
  • 循环是否正确?

我已经完成了数百万次,但有些原因我无法看到这个问题

提前多多感谢

2 个答案:

答案 0 :(得分:2)

执行以下操作:

product["product"].each do |prod| 
  puts prod[:title]
end

答案 1 :(得分:1)

product["product"].each { |p| puts p[:title] }