我试图在一页上打印2条记录。我有大约513个数据库记录。我知道在红宝石,你可以使用像range.step(2).each do ...
,是否有可能与轨道和活动的记录集合呢?Rails一次访问2条记录
,如:
Users.step(2).each_with_index ...
do something with User(i)
do something with User (i+1)
blah blah
...
.
end
我试图在一页上打印2条记录。我有大约513个数据库记录。我知道在红宝石,你可以使用像range.step(2).each do ...
,是否有可能与轨道和活动的记录集合呢?Rails一次访问2条记录
,如:
Users.step(2).each_with_index ...
do something with User(i)
do something with User (i+1)
blah blah
...
.
end
ActiveRecord
关系可以被视为阵列,所以他们也已经实现Enumerable#each_slice
方法:
User.all.each_slice(2) do |user1, user2|
# code goes here
end
谢谢!!这正是我所寻找的 –
什么User.find_each(batch_size: 2)
?
SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 2
#<User:0x007fa92ec82f60>
#<User:0x007fa92ec82b78>
SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 2
#<User:0x007fa92ec82f60>
#<User:0x007fa92ec82b78>
.........
Rails的find_each 他禾将所有记录分成两部分。
谢谢队友,我想到批处理,但它通常用于超过1000条记录,所以我不知道是否是最佳做法 –
500条目的规范,但如果它记录10000服务器的谎言。 –
你试过了吗? – sevenseacat
未定义的方法'步骤'为#