在我的ROR项目中,我使用sqlite数据库来存储我的注册用户数据。 我正在使用highcharts,我能够根据数据库中的数据生成图表。 现在我需要根据每个用户在数据库中的特定数据生成图表。
我的数据库列
ID,
名称,
第1类,
类别2,
catogery 3
在sqlite3数据库中,我需要在用户登录时能够使用来自category1,category2和category3列的数据查看饼图。
感谢任何帮助。
答案 0 :(得分:1)
有几种方法可以做到这一点,但这里有一个
控制器/ charts_controller.rb
class ChartsController < ApplicationController
def pie_chart_for_users
@this_user = User.find(1)
end
end
视图/图表/ pie_chart_for_users.html.erb
<script type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(function() {
new Highcharts.Chart({
chart: {
renderTo: 'users_chart',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Unknown user data'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
}
}
},
series: [{
type: 'pie',
name: 'User data',
data: [
['Category One', <%= @this_user.category_one %>],
['Category Two', <%= @this_user.category_two %>],
['Category Three', <%= @this_user.category_three %>]
]
}]
});
});
</script>
<div id="users_chart"></div>
配置/ routes.rb中
map.pie_chart_for_users 'charts/pie_chart_for_users', :controller => 'charts', :action => 'pie_chart_for_users'
基于Highcharts饼图演示,使用命名路线来演示要调用的控制器和动作名称 - 您应该只能使用资源。认为这应该给你一个想法,虽然我没有运行它来测试它。