我正在尝试将键和值推送到哈希值,因为我遍历了传递给控制器的一些参数。下面的代码片段创建了一个哈希数组,但我希望哈希具有多个键值对。我该怎么做?
@diff_attr = []
params[place_type].each_pair do |k, v|
@diff_attr << {k.to_sym=>v}
end
我应该将我的@diff_attr更改为哈希:@diff_attr = { }
,但在此之后,我不确定如何在我的迭代块中传递键和值。
目前,如果我puts @diff_attr
,我会得到类似的内容:
{:name => "blah blah"}, {:age => "24"}
但我想要更像的东西:
{:name=>"blah blah", :age=>"24"}
答案 0 :(得分:3)
@diff_attr = {}
params[place_type].each_pair do |k, v|
@diff_attr[k.to_sym] = v
end
答案 1 :(得分:2)
@diff_attr = params[place_type].each_with_object({}) do |k,v,hash|
hash[k.to_sym] = v
end