ruby-on-rails – 遍历ruby中的哈希数组
发布时间:2020-12-17 03:32:24 所属栏目:百科 来源:网络整理
导读:所以,如果我有一个像这样的哈希数组:(ruby初学者) input = [{"last_name"="Gay","first_name"="Rudy","display_name"="Rudy Gay","position"="SF","minutes"=39,"points"=25,"assists"=6},{"last_name"="Collison","first_name"="Darren","display_name"="Da
所以,如果我有一个像这样的哈希数组:(ruby初学者)
input = [ {"last_name"=>"Gay","first_name"=>"Rudy","display_name"=>"Rudy Gay","position"=>"SF","minutes"=>39,"points"=>25,"assists"=>6},{"last_name"=>"Collison","first_name"=>"Darren","display_name"=>"Darren Collison","position"=>"PG","points"=>14,"assists"=>4} ] 我将如何遍历数组以及迭代每个哈希以得到类似这样的东西: player1 = {display_name =>“rudy gay”,“position”=>“SF”} player2 = {display_name =>“darren collison”,“position”=>“PG”} 它会是什么样的 input.each do |x| Player.create(name: x['display_name'],position: x['position'] end (假设我有一个玩家模型) 有没有更好的方法来实现这一目标? 谢谢! 解决方法
鉴于您的意见:
input = [ { "last_name"=>"Gay",... },{ "last_name"=>"Collison",...} ] 如果所有这些键(last_name,first_name,display_name)都存在于Player模型中,您可以: input.each do |x| Player.create(x) end 由于create将使用要分配的属性哈希值.但是,更好的是,你甚至不需要迭代: Player.create(input) 如果你给它一个哈希数组,ActiveRecord将全部通过它们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |