[英]Rails + Javascript + Graph - Javascript doesn't work if I use a variable
I'm using the google charts for show some graphs in my rails app. 我正在使用Google图表在Rails应用中显示一些图形。
I get a code example in internet and I'm testing in my app, but I'm with some dubs and I don't know why it's not working. 我在互联网上有一个代码示例,正在我的应用程序中进行测试,但是我遇到了一些麻烦,而且我不知道为什么它不起作用。
In a view, I put this code below: 看来,我将此代码放在下面:
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
var options = {
title: 'My Daily Activities'
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
</script>
<div id="piechart" style="width: 900px; height: 500px;"></div>
This show the graph correctly, but I if I pass a variable, didn't work, like that: 这样可以正确显示该图,但是如果我传递一个变量,那是行不通的,就像这样:
<% @test = [
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
] %>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable(<%= @test %>);
var options = {
title: 'My Daily Activities'
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
</script>
<div id="piechart" style="width: 900px; height: 500px;"></div>
This code don't show nothing, why? 这段代码什么也没显示,为什么?
Ps1: Sorry for English, I'm learning yet =] Ps1:对不起,英语,我正在学习=]
this- 这个-
<% @test = [
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
] %>
just outputs as text into the html 只是作为文本输出到html
if the variable is coming from the controller then; 如果变量来自控制器,则;
<script type="text/javascript">
var test = <%= @test %>
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable(test);
var options = {
title: 'My Daily Activities'
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.