需要以自定义格式获取活动记录

时间:2014-04-02 05:18:34

标签: ruby-on-rails ruby activerecord ruby-on-rails-3.2

需要活动记录应该是两个记录的组或批次。

因为我需要在两组中循环活动记录。

目前我正在以格式获取所有数据,例如

[#<users id: 2, title: "mr">,
 #<users id: 3, title: "mr">,
 #<users id: 4, title: "mr">,
 #<users id: 5, title: "mr">]

我是这样的数据,

[
    [#<users id: 2, title: "mr">, #<users id: 3, title: "mr">],
    [#<users id: 4, title: "mr">, #<users id: 5, title: "mr">]
]

这可以通过循环和推送数据并手动创建数组来完成,但我需要它由ActiveRecord完成。

1 个答案:

答案 0 :(得分:1)

因此,ActiveRecord有一个find_in_batches方法,可以让你以小组方式处理表结果,而不是一次从数据库中检索所有记录,但听起来你只是想避免必须将循环写入组您的记录到您想要的数组格式。

如果是这种情况,您可以使用Enumerable#each_slice方法轻松实现:

User.all.each_slice(2).to_a