2

citiesから命名されたテーブルから属性にアクセスしようとしていますUser model。2 つのテーブルが関連付けられています。ユーザーの都市の円グラフを作成したいのですが、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

これにより、都市ごとのユーザーを持つ has が生成されますが、ラベルは名前ではなく都市 ID になります。join 句を追加して名前でグループ化することで、これを改善できます。

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

あなたの質問に基づいて、これはあなたが望むものを与えると思います。(ここでは、列名とテーブル名についていくつかの仮定を立てました - city_id、都市)。

于 2013-11-05T15:30:34.440 に答える