如何从ActiveRecord中以5乘5取结果

时间:2019-04-03 12:21:53

标签: ruby-on-rails ruby

假设:

  @articles =(Article.find.all).some_method

我想以这种方式循环@articles变量,结果将如下所示:

[ [article1Obj, article2Obj, article3Obj, article4Obj, article5Obj], [article6Obj, article7Obj, article8Obj, article9Obj, article10Obj], [...], [...],......,[...] ].

一个列表列表,每个列表包含五个元素,或者通常包含 n 个元素。

Rails中有没有一种方法可以用简单的方法做到这一点。

1 个答案:

答案 0 :(得分:2)

@articles = Article.all.in_groups_of(5)

https://api.rubyonrails.org/classes/Array.html#method-i-in_groups_of

这将从数据库中加载所有文章,并为您提供一个数组数组,其中每个内部数组中有5篇文章。

现在,如果您的数据库中有很多文章,那么很快就会得到很多结果,因此您需要对结果进行分页。