2013-02-11 93 views
1

的元素我运行:获得哈希表

params[:taxes].each { |pst| 
    puts(pst) 
} 

,并得到:

{"country"=>"USA", "tax"=>"20"} 

我怎么能得到国家的参数?

我想:

pst[:country] 
pst["country"] 

,但它不显示任何信息。

任何帮助赞赏!

回答

5

由于你迭代散列与(这里pst)限定只有一个元件返回在每一个步长2的数组。您只会在第一次迭代中通过致电pst[1][:country]收到"USA"。也许这是更方便您与块定义两个元素迭代,使您能够访问键和值在每一个步骤:

params[:taxes].each do |key, value| 
    puts value[:country] 
end 
+0

谢谢你,我做了你的建议并打印出来:puts(value [:country]) – 2013-02-11 09:38:22

1

尝试:

params[:taxes].each_pair do |key, value| 
    puts value[:country] 
end 

获得国家名称