Кажется, вас смутили возможности, которые предлагает fusioncharts/rails-wrapper
gem.
Если вы посмотрите на исходные файлы этого гема (метод render ), он позволяет вам создать объект Ruby, который представляет вашу диаграмму, а затем использует javascript для визуализации шаблона с графиком.
Таким образом, я вижу здесь 2 варианта.
Первый вариант - продолжить учебник:
Создайте элемент с указанным id
, который будет содержать ваш график:
<div id="chart-container">
<p>The chart will render here!</p>
</div>
Визуализируйте ваши данные, как только вы их получите, используя js:
var spreadsheetId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
url = "https://spreadsheets.google.com/feeds/list/" +
spreadsheetId +
"/od6/public/basic?alt=json";
$.get({
url: url,
success: function(response) {
var data = response.feed.entry,
len = data.length,
i = 0,
parsedData = [];
for (i = 0; i < len; i++) {
parsedData.push({
label: data[i].title.$t,
value: data[i].content.$t.replace('income: ', '')
});
}
new FusionCharts({
type: 'bar2d',
renderAt: 'chart-container',
width: '100%',
height: '300',
dataFormat: 'json',
dataSource: {
"chart": {
"caption": "Highest Paid Actors",
"yAxisName": "Annual Income (in milion USD)",
"numberPrefix": "$"
},
"data": parsedData
}
}).render();
}
});
При таком подходе вы извлекаете данные с помощью jQuery и анализируете их в указанном контейнере, избегая бэкэнда.
Другой вариант - извлечь данные из бэкэнда, например, используя HTTParty gem. А затем визуализируйте диаграмму с помощью интерфейса Ruby, предоставленного fusioncharts-rails gem.
Но поскольку вы реализовали большую часть функциональных возможностей с помощью интерфейсных инструментов, почему бы не придерживаться этого.