2

这是我的参数哈希。我只想获取每个名称和 email_id 并想进一步处理这些。请告诉我我怎样才能得到这个。帮助我,因为我是 Rails 新手。

{
     "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"
}
4

1 回答 1

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
于 2013-02-01T10:17:57.663 回答