这是我的params哈希。我只想获得每个名称和email_id,并希望进一步处理这些问题。请告诉我怎样才能得到这个。帮助我,因为我是铁杆新手。
{
"utf8"=>"✓",
"_method"=>"put",
"authenticity_token"=>"VBJ7NrYDzftlVMYdfNewxADAEGWE8ctau4Zpx3JcjbQ=",
"game_school"=>{
"game_school_invites_attributes"=>{
"name"=>"AAA",
"email"=>"aa@bb.com",
"1359712354138"=>{
"name"=>"ABCD",
"email"=>"aaa@aaa.com"
},
"1359712366842"=>{
"name"=>"CC",
"email"=>"bbb.aa@gmail.com"
}
}
},
"commit"=>"invite",
"model1_id"=>"5",
"model2_id"=>"4"
}
答案 0 :(得分:1)
这是使用递归函数
执行此操作的一种方法def return_name_and_email(hash)
if hash['name'] && hash['email']
puts "Name: #{hash['name']}"
puts "Email: #{hash['email']}"
end
hash.keys.each do |key|
return_name_and_email(hash[key]) if hash[key].is_a?(Hash)
end
end
return_name_and_email params