così se ho un array di hash in questo modo: (ruby principianti)iterare attraverso array di hash in 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}
]
come faccio a scorrere la matrice, nonché per scorrere attraverso ogni hash per avere qualcosa in questo modo:
player1 = {display_name =>, "posizione" "Rudy Gay" => "SF"}
player2 = {display_name => "Darren Collison", "posizione" => "PG" }
Sarebbe som ething come
input.each do |x|
Player.create(name: x['display_name'], position: x['position']
end
(supponendo che ho un modello di giocatore)
C'è un modo migliore per raggiungere questo obiettivo?
Grazie!
Questo codice è corretto, a parte il trailing mancante ')'. Qual è il problema? Stai ricevendo qualche errore? –
Ciao Simone, mi chiedo solo se c'è un modo più rubino per farlo, o se c'è qualcosa di più efficiente. – meowmixplzdeliver
Dai un'occhiata a questa risposta: http://stackoverflow.com/a/10022240/4178151. È possibile passare tale array di hash direttamente al metodo di creazione per creare un unico grande inserto. – nikkon226