我有属于类别的问题。
我想将每个类别中的 5 个问题插入到一个数组中,如果一个类别中没有 5 个问题 - 那么我需要插入重复项,以便每个类别中有 5 个问题。
如果每个类别中有 5 个或更多问题我会使用以下代码,但是当我在一个类别中只有 1 或 2 个问题时,显然它不起作用:
a = []
Category.all.each do |category|
category.questions.order(position: :asc).limit(5).each do |question|
a << question
end
end
最佳答案
a = Category.pluck(:questions).flat_map do |questions|
questions.order(postion: :asc).limit(5).cycle.take(5)
end
关于ruby-on-rails - 从每个类别中获得 5 个问题,如果少于 5 个 - 重复现有直到 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27357306/