最近のプロジェクトで発生している問題を解決しようと頭を悩ませています。シナリオは次のとおりです。
今後のウェビナーを取得するために GoToWebinar API を呼び出しています。すべてが正常に機能しており、ウェビナーは次のようにハッシュの形式で取得されます。
[
{
"webinarKey":5303085652037254656,
"subject":"Test+Webinar+One",
"description":"Test+Webinar+One+Description",
"times":[{"startTime":"2011-04-26T17:00:00Z","endTime":"2011-04-26T18:00:00Z"}]
},
{
"webinarKey":9068582024170238208,
"name":"Test+Webinar+Two",
"description":"Test Webinar Two Description",
"times":[{"startTime":"2011-04-26T17:00:00Z","endTime":"2011-04-26T18:00:00Z"}]
}
]
このハッシュを CSV ファイルに入力するために 1 日 1 回実行する rake タスクを作成しました。次に、コントローラー アクションで CSV ファイルを読み取り、ビューに入力します。
CSVファイルにデータを入力するコードは次のとおりです。
g = GoToWebinar::API.new()
@all_webinars = g.get_upcoming_webinars
CSV.open("#{Rails.root.to_s}/public/upcoming_webinars.csv", "wb") do |csv|
@all_webinars.each do |webinar|
webinar.to_a.each {|elem| csv << elem}
end
end
受信した情報をハッシュ形式で保存して、順序が保持されるように CSV ファイルに保存する方法と、CSV ファイルから情報を読み取る方法を見つけるのに助けが必要です。まったく同じ方法でコントローラー アクションにハッシュを入力します。