【发布时间】:2014-08-15 19:34:12
【问题描述】:
我正在尝试制作一个二维数组以用于高图表饼图。我正在使用 gemlazy_high_charts 创建图表。我没有包含实际的图表代码,因为它使用的是虚拟数据,我只需要弄清楚如何动态创建我硬编码的相同数组。
我已经到处查看了,我已经为此工作了几天,但似乎没有任何效果。请帮忙!
我试图让它看起来像这样:
[['Google Organic', 1],['Facebook', 1],['Radio', 2],['Pens', 1], ['Other', 2]]
其中 Google Organic 等基于 has_many belongs_to 关联中的 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
【问题讨论】:
标签: sql ruby-on-rails arrays activerecord highcharts