Railsアプリにて、Chart.jsを用いたRadarチャートを作っており、
erb
1<% @movie.reviews.each do |review| %> 2 <canvas id="detail_radar_charts_<%= review.id %>"></canvas> 3<% end %>
js
1<script> 2 gon.reviews_id_array.forEach( function( value ) { 3 var ctx = document.getElementById("detail_radar_charts_"+value); 4 var eval(`detail_radar_charts_${a}`) = new Chart(ctx, { 5 (省略) 6 }); 7 }); 8</script>
chart.jsを作用させるためにはcanvasをidで取得する必要があります。
そのため、以上のようにreviewレコードのidをcanvasのidに入れ込むことでそれぞれ異なるidを付与しています。
そのidを用いて、jsでforEachを用いて、DBのレコードの数Radarチャートを描画したいです。
ですが、変数にforEachのvalueを入れ込むことに失敗して、欲しい結果が得られません。
js
1var eval(`detail_radar_charts_${a}`) = new Chart(ctx, { 2 (省略) 3});
この部分の正しい記述方法がわかりません。
chrome
1Uncaught SyntaxError: Unexpected token '('
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/21 15:41