【发布时间】:2016-09-15 12:33:17
【问题描述】:
我有以下型号:
class Task
belongs_to :task_category
end
class TaskCategory
has_many :tasks
end
我想按任务类别对任务进行分组,这对我有用:
Task.all.group_by(&:task_category)
# =>
{
#<TaskCategory id: 1, name: "call", ... } =>[#<Task id: 1, ...>, #<Task id: 2, ...>],
#<TaskCategory id: 2, name: "event", ... } =>[#<Task id: 3, ...>, #<Task id: 4, ...>]
}
问题是即使任务集合为空,我也希望返回所有任务类别。因此,这样的事情会起作用:
#<TaskCategory id: 3, name: "todo", ... } =>[]
在这种情况下,任务类别没有任务,因此值为空数组。 group_by 是否支持允许这样做的选项?如果没有,这可以在单行中优雅地完成吗?
【问题讨论】:
标签: ruby-on-rails