我有一个名为“hack”的模型,它可以有许多“序列”。每个“系列”可以有许多“观察”。“观察”是图表数据(例如日期和值所在的位置)。我希望能够创建一个单一的黑客图表,该图表可以具有可变数量的连续剧,每个连续剧都包含“观察”中图表的值。
我的 hack 控制器的“显示”操作如下所示:
def show
@hack = Hack.find(params[:id])
@obj = {}
@hack.serials.each do |s|
@obj[:name] = s.series_name
data = s.observations.order("id asc").map{|x| [x.hs_date, x.value]}.to_s.gsub('"', '')
@obj[:data] = data
end
end
show.html.erb 文件如下所示:
<div id="container" style="height: 500px; min-width: 500px"></div>
<script>
$(function() {
// Create the chart
window.chart = new Highcharts.StockChart({
chart : {
renderTo : 'container'
},
series :
<%= raw @obj.to_json %>
});
});
</script>
运行此代码时,图表显示“无效日期”。我知道数据是正确的,因为 Highstocks 在我使用单个数据系列时会正确生成图表。在这种情况下,hack 控制器的显示动作是:
def show
@hack = Hack.find(params[:id])
end
使用 show.html.erb 文件为:
<div id="container" style="height: 500px; min-width: 500px"></div>
<script>
$(function() {
// Create the chart
window.chart = new Highcharts.StockChart({
chart : {
renderTo : 'container'
},
series : [{
name: 'first',
data: <%= raw @serial.observations.order("id asc").map{|x| [x.hs_date, x.value]}.to_s.gsub('"', '') %>
}]
});
});
</script>
我的问题是如何将 n 个连续剧(n = 特定黑客中的连续剧数)添加到 Rails 的 Highstocks 图表中?