ユーザーのモデルにジオチャートを実装しようとしていますが、ヘルパー メソッドの SQL クエリに問題があります。ユーザー モデルには、フィールドの 1 つとして国があります。
私の問題は、データをグループ化してjsに渡すことです
users.js
google.load('visualization', '1', {'packages': ['geochart']});
google.setOnLoadCallback(drawRegionsMap);
function drawRegionsMap() {
// var data = google.visualization.arrayToDataTable([
// ['Country', 'Popularity'],
// ['Germany', 200],
// ['United States', 300],
// ['Brazil', 400],
// ['Canada', 500],
// ['France', 600],
// ['RU', 700]
// ]);
var data = google.visualization.arrayToDataTable(['users_country_data']);
var options = {};
var chart = new google.visualization.GeoChart(document.getElementById('chart_div'));
chart.draw(data, options);
};
index.html.rb
<%= content_tag :div, "", id: "chart_div", style: "width: 400px; height:200px;", data: {users: users_country_data} %>
users.helpers.rb
def users_country_data
{
Country: @users.group("country"),
Popularity: @users.count(:group => "country")
}
end
編集。