我正在尝试制作一个二维数组以用于高图表饼图。我正在使用宝石lazy_high_charts创建图表。我没有包括实际的图表代码,因为它可以处理伪数据,我只需要弄清楚如何动态地制作与我硬编码相同的数组即可。
我到处都看了看,而且我已经做了几天,似乎什么也没用。请帮忙!
我试图让它看起来像这样:
[['Google Organic', 1],['Facebook', 1],['Radio', 2],['Pens', 1], ['Other', 2]]
Google Organic等是基于has_many当属关联组织的Leads数据库列中的外键的。数字是每个ID对每个用户出现多少次的计数。
现在我明白了,这是正确的,但是我不确定如何将id转换为实际名称:
[[3, 1], [4, 1], [5, 2], [7, 1], [8, 2]]
它遍历Leads db表中的nonleadaction_id列,并在每次显示每个ID时进行计数。然后,我需要在那里建立关联,因此我知道一次出现了“ Google Organic”。
因此,理想情况下,我想将3更改为:“ Google Organic”,将4更改为“ Facebook”,依此类推。
主管模型
belongs_to :user
has_one :nonleadaction
用户模型
has_many :leads
NonLeadAction模型
belongs_to :lead
Leads_Controller:
def show
@user = current_user
@actions_breakdown = @user.leads.group(:nonleadaction_id).distinct.count.to_a.drop(1)
end
这是我解决此问题的方法:
def leads_breakdown
e = self.opportunities.group(:category_id).distinct.count.to_a.drop(1).flatten
evalues = e.values_at(* e.each_index.select {|i| i.even?})
Category.find(evalues).map { |c| [c.reason, c.id] }
end
def source_breakdown
e = self.opportunities.group(:source).distinct.count.to_a
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句