我正在尝试在用户模型上实现geochart,但我的辅助方法上的 sql 查询出现问题。用户模型将国家作为字段之一。
我的问题是将数据分组并传递给 js
用户.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} %>
用户.helpers.rb
def users_country_data
{
Country: @users.group("country"),
Popularity: @users.count(:group => "country")
}
end
编辑。