Javascript 在RubyonRails中使用数据库中的值在Highcharts中进行多次向下搜索
我的数据库中有以下表格 表1动物-> 列[名称、计数]Javascript 在RubyonRails中使用数据库中的值在Highcharts中进行多次向下搜索,javascript,ruby-on-rails,postgresql,highcharts,Javascript,Ruby On Rails,Postgresql,Highcharts,我的数据库中有以下表格 表1动物-> 列[名称、计数] [cat,4] [dog,2] [cow,1] 表2汽车--> 列[名称、计数] [toyota,4] [opel,2] 表3丰田-> columns [name,count] [liva,2] [etios,2] 我想从数据库中获取数据,并使用high charts动态创建多个深入图表。例如:汽车->丰田->埃提俄斯等 以下带有静态数据的代码运行良好。如何使用Ruby传递动态值 series: [{
[cat,4]
[dog,2]
[cow,1]
表2汽车-->
列[名称、计数]
[toyota,4]
[opel,2]
表3丰田->
columns [name,count]
[liva,2]
[etios,2]
我想从数据库中获取数据,并使用high charts动态创建多个深入图表。例如:汽车->丰田->埃提俄斯等
以下带有静态数据的代码运行良好。如何使用Ruby传递动态值
series: [{
name: 'Things',
colorByPoint: true,
data: [{
name: 'Animals',
y: 3,
drilldown: 'animals'
}, {
name: 'Cars',
y: 2,
drilldown: 'cars'
}]
}],
drilldown: {
series: [{
id: 'animals',
data: [
['Cats', 4],
['Dogs', 2],
['Cows', 1]
]
}, {
id: 'cars',
data: [
{
name: 'Toyota',
y: 4,
drilldown: 'Toyota'
},
]
}, {
id: 'Toyota',
data: [
['Etios', 2],
['Liva', 2]
]
}]
}
你必须为此做很多事情 1首先使用组_,方法如下
group =@animals.group_by(&:name)
hash = group.values
之后
2) value = hash.collect(&:first)
3) then use value.map for getting
4) Use Hash.new {|h,k| [k, variable.count(k)] }
之后,您只需更改或添加更多步骤,如计数、uniq或收集
最后,我的highcharts脚本是,这是我的代码,您可以根据需要定制
series: [{
type: 'pie',
name: 'Country Visits',
data: [
<% for index in 0 ... @country_name.size%>
<% if index == 0 %>
['<%= @country_name[index ] %>', <%= @country_name_visits[index]%>]
<% else %>
,['<%= @country_name[index ] %>', <%= @country_name_visits[index]%>]
<% end %>
<% end %>
]
}]
我想你无法得到我所需要的数据。我需要多次深入了解。如果我们单击“汽车”,它将深入了解并显示不同的汽车供应商名称和数量,例如:[丰田,4][欧宝,2]。再次,如果我们单击任何汽车供应商,假设为“丰田”,它必须进一步深入了解并给出不同的丰田汽车名称和数量。例如:[Etios',2],['Liva',2]我认为,为此,您必须使用下拉菜单,这样,如果您在highcharts脚本中单击cars,您的实例变量将更改为cars值变量。我认为不仅highcharts,您还必须使用ajax进行多个下拉菜单。
series: [{
name: 'Things',
colorByPoint: true,
data: [<%@comp.each do |com|%>
{ name:'<%=com.name%>',
y: <%=com.count%>,
drilldown: '<%= com.name%>'
},
<%end%>
]
}],
drilldown: {
series: [ <%@car.each do |qq|%>
{
id: '<%=qq.name%>',
data: [
<%@cars.each do |q|%>
<% if q.name == qq.name %>
{
name:'<%=q.carvendor%>',
y: <%=q.count%>,
drilldown: '<%= q.carvendor%>'
},
<%end%>
<%end%>
]
},
<%end%>
]
}