继续搜索,直到达到限制

时间:2012-11-29 21:26:38

标签: ruby-on-rails ruby-on-rails-3 search ruby-on-rails-3.2

我进行了搜索,找到所有3个匹配的类别,所有2个类别,以及所有1个类别,如下所示。

def self.three_matching_cat(rel)
  cats = rel.prefs.map {|p| p.category_id}
  self.where(:category_id => cats).group(:name).having("count(*) >2").map {|p| p.name}    
end

我想要做的是将结果总数限制为10,但要确保返回包含3个匹配类别的所有结果,并且只能继续搜索,直到找到总共10个结果。

谢谢!

1 个答案:

答案 0 :(得分:0)

所以我最终做的只是将所有数组相加,然后将其切片。即:

(a + b + c)[0,10].uniq