假设:
@articles =(Article.find.all).some_method
我想以这种方式循环@articles变量,结果将如下所示:
[ [article1Obj, article2Obj, article3Obj, article4Obj, article5Obj], [article6Obj, article7Obj, article8Obj, article9Obj, article10Obj], [...], [...],......,[...] ].
一个列表列表,每个列表包含五个元素,或者通常包含 n 个元素。
Rails中有没有一种方法可以用简单的方法做到这一点。
答案 0 :(得分:2)
@articles = Article.all.in_groups_of(5)
https://api.rubyonrails.org/classes/Array.html#method-i-in_groups_of
这将从数据库中加载所有文章,并为您提供一个数组数组,其中每个内部数组中有5篇文章。
现在,如果您的数据库中有很多文章,那么很快就会得到很多结果,因此您需要对结果进行分页。