以下のマップ関数から返されたハッシュの配列があります。以下に示す特定の形式でデータを取得するグラフ( AMチャートを使用しています)のデータを入力しようとしています-
会社レコードのサンプル構造
1.9.3p327 :073 > Company
=> Company(id: integer, name: string, contact_no: integer, email_id: string, website: string, fax_no: integer, created_at: datetime, updated_at: datetime, divisions_count: integer)
@all_companies = Company.all
マップ機能:
@all_companies = @all_companies.map {|each_company| { Country: each_company.name, Visits: each_company.divisions_count} }
上記クエリの出力形式
[{:country=>"Samsung", :visits=>8}, {:country=>"Natraj", :visits=>2}, {:country=>"Tupperware", :visits=>5}, {:country=>"Transcen", :visits=>0}, {:country=>"camlin", :visits=>0}]
グラフデータ入力フォーマット:
var chartData = [{
country: "USA",
visits: 4025
}, {
country: "China",
visits: 1882
}, {
country: "Japan",
visits: 1809
}, {
country: "Germany",
visits: 1322
}]
Ruby 1.9.3-p327 を使用しています。出力配列を特定のグラフ形式に変換する必要があります。. 次の手順で同じことを試みます:-
1.9.3p327 :070 > @all_companies = @all_companies.to_s.gsub(":","")
=> "[{country=>\"Samsung\", visits=>8}, {country=>\"Natraj\", visits=>2}, {country=>\"Tupperware\", visits=>5}, {country=>\"Transcen\", visits=>0}, {country=>\"camlin\", visits=>0}]"
1.9.3p327 :071 > @all_companies = @all_companies.gsub("=>",": ")
=> "[{country: \"Samsung\", visits: 8}, {country: \"Natraj\", visits: 2}, {country: \"Tupperware\", visits: 5}, {country: \"Transcen\", visits: 0}, {country: \"camlin\", visits: 0}]"
1.9.3p327 :072 > puts @all_companies
[{country: "Samsung", visits: 8}, {country: "Natraj", visits: 2}, {country: "Tupperware", visits: 5}, {country: "Transcen", visits: 0}, {country: "camlin", visits: 0}]
=> nil
1.9.3p327 :073 >
グラフにデータを表示しようとすると、次の構文エラーが発生します:-
var chartData = [{country: "Samsung", visits: 8}, {country: "Natraj", visits: 2}, {country: "Tupperware", visits: 5}, {country: "Transcen", visits: 0}, {country: "camlin", visits: 0}]
firebug コンソールからの構文エラーは、上記のデータの"を指すようになりました。
目的のグラフ形式を取得できるように、最後の手順を実行するのに役立つ回避策はありますか?
質問が更新されました
次の形式のデータが必要です:-
var chartData = [
{
country: "Samsung",
visits: 8
},
{
country: "Natraj",
visits: 2
},
{
country: "Tupperware",
visits: 5
},
{
country: "Transcen",
visits: 0
},
{
country: "camlin",
visits: 0
}
]
ありがとうございました。