0

私のRORプロジェクトでは、登録ユーザーのデータを保存するためにsqliteデータベースを使用しています。ハイチャートを使用しており、データベースのデータに基づいてチャートを生成できます。次に、データベース内の特定のデータに基づいて、ユーザーごとにグラフを生成する必要があります。

私のデータベース列

sqlite3データベースのid、name、category 1、category2、catogery 3
、ユーザーがログインすると、category1、category2、category3の列のデータを使用して円グラフを表示できるようにする必要があります。

どんな助けでも大歓迎です。

4

1 に答える 1

1

これを行うにはいくつかの方法がありますが、ここに1つあります

controllers / charts_controller.rb

class ChartsController < ApplicationController
  def pie_chart_for_users
     @this_user = User.find(1)
  end
end

views / charts / 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>

config / routers.rb

map.pie_chart_for_users 'charts/pie_chart_for_users', :controller => 'charts', :action => 'pie_chart_for_users'

Highcharts円グラフのデモに基づいて、呼び出すコントローラーとアクションの名前をデモするためだけに名前付きルートを使用しました。代わりにリソースを使用できるはずです。私はそれをテストするためにこれを実行していませんが、それはあなたにアイデアを与えるはずだと思います。

于 2012-06-06T11:11:57.457 に答える