ruby-on-rails - 遍历 ruby​​ 中的哈希数组

标签 ruby-on-rails ruby arrays hash

所以如果我有一个这样的哈希数组:(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", "minutes"=>39, "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 将遍历所有这些。

关于ruby-on-rails - 遍历 ruby​​ 中的哈希数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26724347/

相关文章:

ruby-on-rails - rails : Attr accessor undefined method in the setter

ruby-on-rails - 语法错误-意外的tIDENTIFIER,期望带有Submit_tag的 ')'

ruby-on-rails - Ruby Regex - 需要替换正则表达式匹配中出现的每个字符

ruby - Delegator 通过 BasicObject 透明化

ruby object.hash

c# - 如何将char数组转换为int?

ruby - 将一个数组翻译成一些数组

jquery - 如何保护ajax在没有登录的情况下被使用?

ruby-on-rails - 如何在 Ruby on Rails 中获取月份名称?

javascript - 使用javascript中的add方法更新数组