ruby-on-rails rails如何添加所有没有.each的记录

acruukt9  于 2023-06-25  发布在  Ruby
关注(0)|答案(1)|浏览(184)

这个代码给了我很多图表。我想要一个图表给所有的用户。我该怎么做

<% User.all.each do |e| %>
      <%= pie_chart e.products.group(:name).count %>
<% end %>

我试过这个,但它不工作未定义的方法“产品”

<%= pie_chart User.all.products.group(:name).count %>
jljoyd4f

jljoyd4f1#

如果你想为所有用户生成一个图表而不使用.each循环,你可以修改你的代码如下:

<%= pie_chart User.joins(:products).group('products.name').count %>

User.joins(:products)部分在usersproducts表之间执行内部连接,假设它们之间存在关联。这可确保查询中仅包括具有关联产品的用户。
.group('products.name')部分按products表的name列对结果进行分组。
最后,.count方法计算分组结果中每个产品名称的出现次数。
使用此修改后的代码,您应该得到一个图表,显示所有用户中每个产品名称的计数。

相关问题