我試圖在一頁上打印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
未定義的方法'步驟'爲#