У меня есть хеш (Hash.from_xml), который выглядит следующим образом (из проверки):
{
"FileName"=>"hofplayers.xml",
"Version"=>"1.0",
"UserID"=>"3955847",
"FetchedDate"=>"2011-08-16 00:41:02",
"PlayerList"=>{
"Player"=>{
"PlayerId"=>"92121587",
"FirstName"=>"Gennady",
"NickName"=>nil,
"LastName"=>"Buzykin",
"Age"=>"45",
"NextBirthday"=>"2011-09-24 22:10:00",
"ArrivalDate"=>"2008-03-08 16:37:00",
"ExpertType"=>"15",
"HofDate"=>"2010-01-23 16:10:00",
"HofAge"=>"40"
}
}
}
Затем я повторяю с каждым, поскольку может быть более одного игрока:
<% @hof['PlayerList']['Player'].each do |player| %>
<%= player['NickName']%>
<% end %>
И с ошибкой TypeError: невозможно преобразовать строку в целое число .Но это работает, как я хочу, когда есть более одного игрока.Кажется, проблема в том, что когда один игрок создает массивы вместо хеша, player.inspect выдает:
["PlayerId", "92121587"]
["FirstName", "Gennady"]
["NickName", nil]
["LastName", "Buzykin"]
["Age", "45"]
["NextBirthday", "2011-09-24 22:10:00"]
["ArrivalDate", "2008-03-08 16:37:00"]
["ExpertType", "15"]
["HofDate", "2010-01-23 16:10:00"]
["HofAge", "40"]
вместо
{
"PlayerId"=>"25787535",
"FirstName"=>"Rico",
"NickName"=>nil,
"LastName"=>"van Oostveen",
"Age"=>"42",
"NextBirthday"=>"2011-10-23 22:18:00",
"ArrivalDate"=>"2006-02-11 18:43:00",
"ExpertType"=>"2",
"HofDate"=>"2010-04-25 22:01:00",
"HofAge"=>"38"
}
Так что я делаю неправильно