这是我目前的代码
cat = Category.select(:id, :name, :parent, :jobs_count).group_by{|p| p.parent}
cat.each do |parent, childs|
= parent
childs.each do |name|
= name.name
end
end
结果是,
技术(父母)
现在我想按childs
订购jobs_count
条记录,我正在尝试使用以下代码执行此操作,
childs.order(jobs_count: :desc).each do |name|
Error:
=> undefined method `order' for #<Array:0x007f11cc08a2c0>
也喜欢进入主要查询
Category.select(:id, :name, :parent, :jobs_count).group_by{|p| p.parent}.order(jobs_count: :desc)
Error:
#=> undefined method `order' for #<Array:0x007f11cc242e50>
它对我不起作用,如何按jobs_count
答案 0 :(得分:3)
您可以像sort_by
一样使用childs.each
方法,如下所示
childs.sort_by{|j| - j.jobs_count }.each do |name|
所以完整的代码是:
cat.each do |parent, childs|
= parent
childs.sort_by{|j| - j.jobs_count }.each do |name|
= name.name
end
end
它应该有用。