【发布时间】:2015-10-11 15:55:21
【问题描述】:
我有一个 Rails 应用程序,其中包含两个模型以及它们之间的关系。我正在使用 ChartKick 按邮政编码显示提供者订单的数量。
order.rb 模型
class Order < ActiveRecord::Base
belongs_to :user
belongs_to :provider
belongs_to :address
provider.rb 模型
class Provider < ActiveRecord::Base
belongs_to :user
has_many :orders
def past_orders_chart
Order.where(:provider_id => self.id).where(:status => "2")
end
address.rb 模型
class Address < ActiveRecord::Base
belongs_to :user
has_many :orders
past_orders.html.erb
<%= pie_chart @past_orders_chart.includes(:address).group(:zipcode).sum(:zipcode) %>
Here is how the chart looks using 'sum':
问题是根据上述命令对邮政编码求和是有意义的。
如果我将命令更改为“count”而不是“sum”,它会显示图表,但只计算邮政编码的唯一出现次数。
pie_chart =@past_orders_chart.includes(:address).group(:zipcode).count(:zipcode)
Here is how the chart looks using 'count':
使用“总和”可以直观地生成正确的饼图(以图表中显示的百分比表示。
所以问题是如何让图表列出邮政编码出现在数据集中的总次数? 我试图发布第三个示例屏幕截图,但被 SO 阻止。
谢谢,
大卫
【问题讨论】:
标签: ruby-on-rails charts chartkick