1
我试图从由企业员工组成的展示位置模型中创建图表。如何订购group_by数据
我使用下面的代码:
def self.chart_data(business)
business.placements.order(:month).group_by(&:month).map do |month, data|
hash = {month: month.strftime("%Y-%m")}
data.each {|placement| hash[placement.employee.name] = placement.position}
JSON.parse(hash.to_json)
end
end
出示以下资料:
[{"month"=>"01/2014", "John"=>3, "Glen"=>4, "Frank"=>5}, {"month"=>"02/2014", "John"=>1, "Glen"=>2, "Frank"=>3}]
我现在需要指定图形标签,这将是雇员的姓名。
我该如何做到这一点,同时保持员工姓名的相同顺序?即
["John", "Glen", "Frank"]
如果我得到每个企业员工的姓名,则名称是出相对顺序来布置数据:
@business.employees.pluck(:name)
["Frank", "John", "Glen"]