aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/association_preload.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-12-23 07:33:22 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2010-12-23 07:33:28 -0800
commitdf3cfa6aaea326bb60b639524abbcc1f73854d1f (patch)
tree292fad6f82b6850216a7edc634d2bc92106f9257 /activerecord/lib/active_record/association_preload.rb
parent2b795050de72c6d68aba7513510f74ddc8959ee7 (diff)
downloadrails-df3cfa6aaea326bb60b639524abbcc1f73854d1f.tar.gz
rails-df3cfa6aaea326bb60b639524abbcc1f73854d1f.tar.bz2
rails-df3cfa6aaea326bb60b639524abbcc1f73854d1f.zip
avoid duping and new objects
Diffstat (limited to 'activerecord/lib/active_record/association_preload.rb')
-rw-r--r--activerecord/lib/active_record/association_preload.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/association_preload.rb b/activerecord/lib/active_record/association_preload.rb
index 7f5c5dd2ad..6d905fe6fe 100644
--- a/activerecord/lib/active_record/association_preload.rb
+++ b/activerecord/lib/active_record/association_preload.rb
@@ -211,10 +211,11 @@ module ActiveRecord
associated_records_proxy = reflection.klass.unscoped.
includes(options[:include]).
- joins(join).
- select(select).
order(options[:order])
+ associated_records_proxy.joins_values = [join]
+ associated_records_proxy.select_values = select
+
all_associated_records = associated_records(ids) do |some_ids|
associated_records_proxy.where([conditions, some_ids]).to_a
end