初めて見たエラーだったので対処法を記しておきます。
経緯
chart.jsでグラフを作るために記事を参考に試したところエラーが発生した。
原因
window.draw_graph = ->
ctx = document.getElementById("myChart").getContext('2d')
barNum = 6
labels = new Array(barNum)
bgColors = new Array(barNum)
bdColors = new Array(barNum)
for i in [0...barNum]
labels[i] = 'data' + i
bgColors[i] = 'rgba(75, 192, 192, 0.2)'
bdColors[i] = 'rgba(75, 192, 192, 1)'
myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: labels
datasets: [{
label: '# of Votes',
data: gon.data,
backgroundColor: bgColors,
borderColor: bdColors,
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero:true
}
}]
}
}
})
原因
インデントのズレなど構文が間違っているとなるようです。
解決法
Rubymineの自動フォーマット(⌥+⌘+Lキー)でインデント修正して解決しました。
window.draw_graph = ->
ctx = document.getElementById("myChart").getContext('2d')
barNum = 6
labels = new Array(barNum)
bgColors = new Array(barNum)
bdColors = new Array(barNum)
for i in [0...barNum]
labels[i] = 'data' + i
bgColors[i] = 'rgba(75, 192, 192, 0.2)'
bdColors[i] = 'rgba(75, 192, 192, 1)'
myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: labels
datasets: [{
label: '# of Votes',
data: gon.data,
backgroundColor: bgColors,
borderColor: bdColors,
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
})
よくあるエラーらしいので、遭遇しても落ち着いて対処しよう