Chartkick は素晴らしく、次のような非常にシンプルなことができます。
<%= column_chart Device.joins(:reviews).group(:brand).average(:average_rating) %>
次のような結果が得られます。
問題は、ラベルが chartkick に渡されないことです。これは、chartkick がチャートをレンダリングするために使用するものです。
Chartkick.ColumnChart("chart-5", {"#<Brand:0x00000008a3c048>":"78.8","#<Brand:0x0000000879e840>":"80.70000712076823","#<Brand:0x0000000853e9d8>":"81.11111111111111","#<Brand:0x000000082808e0>":"73.42857142857143"}, {});
それで、大きな問題は...どうすればこの非常に簡単なクエリ方法を使用して、チャート上のブランド名を取得できるでしょうか?
私は試した:
<%= column_chart Device.joins(:reviews).group(:'brand.name').average(:average_rating) %>
...そして無駄に他のバリエーション...