javascript - 如何在haml的javascript代码中使用ruby代码?
问题描述
我正在使用haml在rails 5上开发我的应用程序,我需要在javascript代码中执行“each”来显示存储过程的数据,以便可以显示图表。问题是我无法在 javascript 中呈现数据。如果没有haml,它将是这样的:
<script>
var config = {
type: 'pie',
data: {
datasets: [{
data: [
<% @result.to_a.each do |foo| %>
"<%= foo["balance"] %>"
<%= "," unless foo == @result.to_a.last %>
<% end %>
], ...
</script>
这是我的 _partial.html.haml
%canvas{id: 'myChart', width: '400', height: '130'}
:javascript
var config = {
type: 'pie',
data: {
datasets: [{
data: [
#{@result.to_a.each do |foo|
"#{foo["balance"]}"#{","}
end}
],
backgroundColor: [
"#F7464A",
"#46BFBD",
"#FDB45C",
"#949FB1",
"#4D5360",
],
label: 'Dataset 1'
}],
labels: [
"Red",
"Green",
"Yellow",
"Grey",
"Dark Grey"
]
},
options: {
responsive: true,
legend: {
position: 'top',
},
title: {
display: true,
text: 'Chart.js Doughnut Chart'
},
animation: {
animateScale: true,
animateRotate: true
}
}
};
window.pPercentage = new Chart(document.getElementById("myChart"), config);
它没有在控制台中显示错误,只是没有显示图表
解决方案
推荐阅读
- c# - C# OrderBy 和 ThenBy 的高级使用
- mkdocs - 如何阻止 material-mkdocs 修剪 inlineCodeBlock 空白?
- android - Flutter 不在命令提示符下在附加设备上运行应用程序,而 android studio 已关闭(仅在 android studio 中运行)
- ruby-on-rails - 具有多态关联的数据库设计和 ActiveRecord 查询
- reactjs - 如何确保在显示另一个组件之前加载 App 组件
- javascript - Moment.js - 如何获取给定月份的每周数据[每周的开始日期和结束日期],不包括上个月和下个月的日期
- python - 在循环中写入文件只写入一次
- python - Selenium / Python:为什么所有检测到的元素在y:1或y:0的y位置都有坐标?
- c++ - 正确重用联合成员的存储并转换所涉及的指针(对象池)
- r - 用于计算向量中点的差异的 R 函数