我有像哈希一样的哈希:
Parameters: {"order"=>{"items_attributes"=>{"0"=>{"product_name"=>"FOOBAR"}}}}
鉴于键的深度和名称可能会发生变化,我需要能够使用某种搜索或选择方法提取“product_name”的值(在此示例中为“FOOBAR”),但我似乎无法搞清楚。
更复杂的是,Params(我认为)是HashWithIndifferentAccess
感谢您的帮助。
答案 0 :(得分:0)
这是你的意思吗?
if params.has_key?("order") and params["order"].has_key?("items_attributes") then
o = params["order"]["items_attributes"]
o.each do |k, v|
# k is the key of this inner hash, ie "0" in your example
if v.has_key?("product_name") then
# Obviously you'll want to stuff this in an array or something, not print it
print v["product_name"]
end
end
end