2

我正在尝试从名为的表中访问cities属性User model。这两个表是关联的。我想制作用户城市的饼图,正在使用chartkick(您可以查看我提供的链接)

在我看来,我有:

<%= pie_chart User.city.group("name").count %>

有人建议我,因为它不起作用。


更新:

<%= pie_chart User.group("city_id").count %>,它可以对每个城市的用户数量进行分组,但标签是城市 id

我想改进图表以具有城市名称的标签

4

1 回答 1

5

根据您的问题,我不完全确定您要做什么,但听起来您正在尝试绘制每个城市的用户数量 - 对吗?如果是这样,您可以通过执行类似的操作来获取统计信息

User.group('city_id').count

这将导致每个城市都有用户,但标签将是城市 ID,而不是名称。我们可以通过添加一个连接子句并按名称分组来改进这一点:

User.joins(:city).group('cities.name').count

我认为,根据你的问题,这会给你你想要的。(我在这里对列名和表名做了一些假设——city_id、city)。

于 2013-11-05T15:30:34.440 回答