1

我跑:

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

并得到:

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

我怎样才能得到国家的参数?

我试过:

pst[:country]
pst["country"]

但它不打印任何东西。

任何帮助表示赞赏!

4

3 回答 3

5

由于您只定义一个元素(此处pst)迭代哈希,因此它在每一步中返回一个长度为 2 的数组。您"USA"只会在第一次迭代中通过调用pst[1][:country]. 也许在块中定义两个元素对您来说更方便,使您能够在每个步骤中访问键和值:

params[:taxes].each do |key, value|
   puts value[:country]
end
于 2013-02-11T09:19:58.237 回答
1

尝试使用单引号

pst['country']
于 2013-02-11T09:10:53.040 回答
1

尝试:

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

获取国家名称

于 2013-02-11T09:31:15.783 回答