Instantly share code, notes, and snippets.

Embed
What would you like to do?
Rails manual association preloading
# taken from https://mrbrdo.wordpress.com/2013/09/25/manually-preloading-associations-in-rails-using-custom-scopessql/
# collection association e.g. has_many
owners = People.all
association_name = :photos
owners.each do |owner|
records = Array(whatever_you_want)
association = owner.association(association_name)
association.loaded!
association.target.concat(records)
records.each { |record| association.set_inverse_instance(record) }
end
# singular association e.g. has_one
owners = People.all
association_name = :photos
owners.each do |owner|
record = whatever_you_want
association = owner.association(association_name)
association.target = record
association.set_inverse_instance(record)
end
@jumbosushi

This comment has been minimized.

jumbosushi commented Jul 11, 2018

what is what_ever_you_want referring to?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment