Javascript rails和highcharts柱形图
嗨,我真的卡住了,我在rails应用程序中使用highcharts,试图得到一个柱形图,显示我在数据库中与女性用户相比有多少男性用户,但似乎无法找出如何从我的用户数据库表中读取数据。这是我的用户模型Javascript rails和highcharts柱形图,javascript,ruby-on-rails,ruby,highcharts,Javascript,Ruby On Rails,Ruby,Highcharts,嗨,我真的卡住了,我在rails应用程序中使用highcharts,试图得到一个柱形图,显示我在数据库中与女性用户相比有多少男性用户,但似乎无法找出如何从我的用户数据库表中读取数据。这是我的用户模型 def self.gender_analysis(gender) User.where(:gender => MALE).count User.where(:gender => FEMALE).count end 这是我的user.js文件,我把图表放在这里 $(functio
def self.gender_analysis(gender)
User.where(:gender => MALE).count
User.where(:gender => FEMALE).count
end
这是我的user.js文件,我把图表放在这里
$(function(){
new Highcharts.Chart({
chart:{
renderTo: "pie_chart",
type:"column"
},
title: { text: "Gender" },
xAxis: { type: "percent correct"},
yAxis: {
title: { text: "Gender" }
},
series: [{
data: <%= users.each do |user| %>
}]
});
});
$(函数(){
新海图,海图({
图表:{
renderTo:“饼图”,
类型:“列”
},
标题:{文本:“性别”},
xAxis:{type:“正确百分比”},
亚克斯:{
标题:{正文:“性别”}
},
系列:[{
数据:
}]
});
});
我的user view.html.erb看起来像
<div id="pie_chart" style="width:568px; height:300px;"></div>
<h1>Listing users</h1>
<table>
<thead>
<tr>
<th>Number</th>
<th>Gender</th>
<th>Hobby</th>
<th>Created</th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<% @users.each do |user| %>
<tr>
<td><%= user.number %></td>
<td><%= user.gender %></td>
<td><%= user.hobby %></td>
<td><%= user.created_at %></td>
列出用户
数
性别
爱好
创建
我是rails开发的新手,非常感谢您给予我的任何帮助
def self.gender_analysis(gender)
User.where(:gender => MALE).count if gender == :male
User.where(:gender => FEMALE).count if gender == :female
end
然后在您的ERB文件中,您应该具有以下内容:
$(function(){
new Highcharts.Chart({
chart:{
renderTo: "pie_chart",
type:"column"
},
title: { text: "Gender" },
xAxis: { type: "percent correct"},
yAxis: {
title: { text: "Gender" }
},
,
series: [{
type: 'pie',
name: 'Gender Split',
data: [
['Female', <%= User.gender_analysis(:female) %>],
['Male', <%= User.gender_analysis(:male) %>]
]
}]
});
});
$(函数(){
新海图,海图({
图表:{
renderTo:“饼图”,
类型:“列”
},
标题:{文本:“性别”},
xAxis:{type:“正确百分比”},
亚克斯:{
标题:{正文:“性别”}
},
,
系列:[{
键入“pie”,
姓名:'性别分裂',
数据:[
[‘女性’,],
[‘男性’,]
]
}]
});
});
很简单:
在您的视图中
,我的意思是在您的html.erb
put中:
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
这里还有小提琴
快乐编码!:) 嗨,不知什么原因,图表不会为我显示,但它在我的视图文件中还是空白。你的html/JS是什么样子的?嗨,我只是用index.html文件中的这个div调用了所有内容。上面的答案似乎对我有用。谢谢你的帮助。谢谢你的帮助。你的救命稻草
$(function () {
$('#container').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Total User'
},
subtitle: {
text: 'Source: Unknown'
},
xAxis: {
categories: ['Male', 'Female'],
title: {
text: null
}
},
yAxis: {
min: 0,
title: {
text: 'Total Number',
align: 'high'
},
labels: {
overflow: 'justify'
}
},
tooltip: {
valueSuffix: ''
},
plotOptions: {
bar: {
dataLabels: {
enabled: true
}
}
},
credits: {
enabled: false
},
series: [{
name: 'Users',
data: [<%= User.where(:gender => 'MALE').count %>, <%= User.where(:gender => 'FEMALE').count %>]
}]
});
});