次の点を考慮してください。
details = Hash.new
# Example of this Hash's final look
details["team1"] = "Example"
details["team2"] = "Another team"
details["foo"] = "Bar"
2 つのチームの名前を取得する方法は次のとおりです。
teams = Match.find(1).teams
=> [#<Team id: 1, name: "England">, #<Team id: 2, name: "Australia">]
ここで、チームの名前を team1 と team2 の下のハッシュに保存したいと思います。配列を使用していた場合、次のことができます。
teams.each do |team|
details << team.name
end
ただし、上に示したハッシュでこれを行う必要があります。これを達成するにはどうすればよいでしょうか?