Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在RubyonRails中使用数据库中的值在Highcharts中进行多次向下搜索_Javascript_Ruby On Rails_Postgresql_Highcharts - Fatal编程技术网

Javascript 在RubyonRails中使用数据库中的值在Highcharts中进行多次向下搜索

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: [{

我的数据库中有以下表格

表1动物->

列[名称、计数]

[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%>

                ]
                 }