aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2015-08-06 17:38:36 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2015-08-06 17:38:36 -0300
commit22625a353e8d9613f615a25ec642eb057de19cf1 (patch)
tree854ce96cd60a4c2d711a27becffc01bc4c51ddd0 /activerecord/lib/active_record
parent7c23c38b3317da7dee166ddaa5e492aa1d7b5759 (diff)
parentf744d627364a9a98dedda5b30711bf80ebc3451f (diff)
downloadrails-22625a353e8d9613f615a25ec642eb057de19cf1.tar.gz
rails-22625a353e8d9613f615a25ec642eb057de19cf1.tar.bz2
rails-22625a353e8d9613f615a25ec642eb057de19cf1.zip
Merge pull request #21092 from vngrs/use_memoization_for_ids_reader
Use memoization for collection associations ids reader
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/associations/collection_association.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/associations/collection_association.rb b/activerecord/lib/active_record/associations/collection_association.rb
index 87576abd92..0fc2b83b71 100644
--- a/activerecord/lib/active_record/associations/collection_association.rb
+++ b/activerecord/lib/active_record/associations/collection_association.rb
@@ -62,8 +62,10 @@ module ActiveRecord
record.send(reflection.association_primary_key)
end
else
- column = "#{reflection.quoted_table_name}.#{reflection.association_primary_key}"
- scope.pluck(column)
+ @association_ids ||= (
+ column = "#{reflection.quoted_table_name}.#{reflection.association_primary_key}"
+ scope.pluck(column)
+ )
end
end