Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我无法创建我的each循环来处理带有Rails实例的jQuery图表_Jquery_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

我无法创建我的each循环来处理带有Rails实例的jQuery图表

我无法创建我的each循环来处理带有Rails实例的jQuery图表,jquery,ruby-on-rails,ruby-on-rails-4,Jquery,Ruby On Rails,Ruby On Rails 4,大家好,我正试图显示球员的名字和他赚的钱,不幸的是,如果我只键入一次球员,它只显示一个球员,我知道我需要创建每个循环,但我无法使它工作,你能帮我吗。第一行{y:,标签:}不起作用,但第二行起作用,但每次都显示相同的名称,因为它不在循环中。如何修复它 window.onload=函数(){ var chart=new CanvasJS.chart(“chartContainer”{ animationEnabled:没错, 主题:“light2”、“light1”、“light2”、“dark1

大家好,我正试图显示球员的名字和他赚的钱,不幸的是,如果我只键入一次球员,它只显示一个球员,我知道我需要创建每个循环,但我无法使它工作,你能帮我吗。第一行{y:,标签:}不起作用,但第二行起作用,但每次都显示相同的名称,因为它不在循环中。如何修复它


window.onload=函数(){
var chart=new CanvasJS.chart(“chartContainer”{
animationEnabled:没错,
主题:“light2”、“light1”、“light2”、“dark1”、“dark2”
标题:{
正文:“顶级石油储量”
},
axisY:{
标题:“储量(百万桶)”
},
数据:[{
键入:“列”,
showInLegend:是的,
legendMarkerColor:“灰色”,
传奇文本:“百万桶=一百万桶”,
数据点:[
{y:,标签:},
{y:266455,标签:'},
{y:169709,标签:'},
{y:158400,标签:'},
{y:142503,标签:'},
{y:101500,标签:“科威特”},
{y:97800,标签:“阿联酋”},
{y:80000,标签:“俄罗斯”}
]
}]
});
chart.render();
}

看起来您没有正确设置@player。在没有看到控制器的情况下,我无法确定,但我猜您想要的是result.HomeTeam.players,而不是@player

您在每次循环迭代中创建并设置一个新图表,然后将其全部丢弃。如果查看呈现的HTML源代码,您将看到与
@results
中的条目一样多的
window.onload(){..}
调用

你真的只需要在
@results
数组上循环一次,然后构建一个内部数据点有效负载——你只需要将其传递给图表构建函数一次

大概是这样的:

<script>
var datapoints = [];
<% @results.each do |result| %>
  datapoints.push({y: "<%= result.FTAG %>", label: "<%= result.HomeTeam %>"});
<% end %>
</script>

<script>
window.onload = function () {

var chart = new CanvasJS.Chart("chartContainer", {
  animationEnabled: true,
  theme: "light2", // "light1", "light2", "dark1", "dark2"
  title:{
    text: "Top Oil Reserves"
  },
  axisY: {
    title: "Reserves(MMbbl)"
  },
  data: [{        
    type: "column",  
    showInLegend: true, 
    legendMarkerColor: "grey",
    legendText: "MMbbl = one million barrels",
    dataPoints: datapoints
  }]
});
chart.render();

}
</script>

var数据点=[];
数据点推送({y:,标签:});
window.onload=函数(){
var chart=new CanvasJS.chart(“chartContainer”{
animationEnabled:没错,
主题:“light2”、“light1”、“light2”、“dark1”、“dark2”
标题:{
正文:“顶级石油储量”
},
axisY:{
标题:“储量(百万桶)”
},
数据:[{
键入:“列”,
showInLegend:是的,
legendMarkerColor:“灰色”,
传奇文本:“百万桶=一百万桶”,
数据点:数据点
}]
});
chart.render();
}

我现在将在一秒钟内给你代码+控制器此代码显示最后一个玩家和钱,非常感谢,你救了我的命!真的非常感谢你!我只是不懂JS和Jquery,非常感谢!!!!!!!!!!!!!!!!!
<script>
var datapoints = [];
<% @results.each do |result| %>
  datapoints.push({y: "<%= result.FTAG %>", label: "<%= result.HomeTeam %>"});
<% end %>
</script>

<script>
window.onload = function () {

var chart = new CanvasJS.Chart("chartContainer", {
  animationEnabled: true,
  theme: "light2", // "light1", "light2", "dark1", "dark2"
  title:{
    text: "Top Oil Reserves"
  },
  axisY: {
    title: "Reserves(MMbbl)"
  },
  data: [{        
    type: "column",  
    showInLegend: true, 
    legendMarkerColor: "grey",
    legendText: "MMbbl = one million barrels",
    dataPoints: datapoints
  }]
});
chart.render();

}
</script>