代码之家  ›  专栏  ›  技术社区  ›  mattC

RubyonRails:如何限制对活动记录结果排序的结果

  •  0
  • mattC  · 技术社区  · 6 年前

    我有下面的代码,它按帖子数对用户进行排序。我如何才能将此限制为前5个结果?

    <%= @top5 = User.all.sort{|a,b| a.questions.where(ques_num: 2).count <=> b.questions.where(ques_num: 2).count}.reverse %>
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   xploshioOn    6 年前

    您可以简单地添加 .first(5) .last(5).reverse

    <%= @top5 = User.all.sort{|a,b| a.questions.where(ques_num: 2).count <=> b.questions.where(ques_num: 2).count}.reverse.first(5) %>
    

    <%= @top5 = User.all.sort{|a,b| a.questions.where(ques_num: 2).count <=> b.questions.where(ques_num: 2).count}.last(5).reverse %>