instance method
find_each
Ruby on Rails 4.0.13
Since v3.1.12Signature
find_each(options = {})
Looping through a collection of records from the database (using the all method, for example) is very inefficient since it will try to instantiate all the objects at once.
In that case, batch processing methods allow you to work with the records in batches, thereby greatly reducing memory consumption.
The #find_each method uses #find_in_batches with a batch size of 1000 (or as specified by the :batch_size option).
Person.all.find_each do |person|
person.do_awesome_stuff
end
Person.where("age > 21").find_each do |person|
person.party_all_night!
end
You can also pass the +:start+ option to specify
an offset to control the starting point.
Parameters
-
optionsopt = {}
Source
# File activerecord/lib/active_record/relation/batches.rb, line 24
def find_each(options = {})
find_in_batches(options) do |records|
records.each { |record| yield record }
end
end
Defined in activerecord/lib/active_record/relation/batches.rb line 24
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Batches