aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2016-07-28 10:36:50 -0300
committerGitHub <noreply@github.com>2016-07-28 10:36:50 -0300
commit519801db08a2eb0ea579ceed64f3be04a873acc9 (patch)
tree86d12ddfcc4fa6b2e2e7db245e7e6ebfdfc0ac75
parentfb30df9c10372b1667dabac2fffe2cff25302626 (diff)
parentceee776b5ddf3db849bdf170be15de5a86eb28d5 (diff)
downloadrails-519801db08a2eb0ea579ceed64f3be04a873acc9.tar.gz
rails-519801db08a2eb0ea579ceed64f3be04a873acc9.tar.bz2
rails-519801db08a2eb0ea579ceed64f3be04a873acc9.zip
Merge pull request #25940 from kamipo/fix_collection_proxy_load
Fix to `CollectionProxy#load` does `load_target`
-rw-r--r--activerecord/lib/active_record/associations/collection_proxy.rb6
-rw-r--r--activerecord/test/cases/associations_test.rb8
2 files changed, 14 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/associations/collection_proxy.rb b/activerecord/lib/active_record/associations/collection_proxy.rb
index db3037d8f9..98250a7ab8 100644
--- a/activerecord/lib/active_record/associations/collection_proxy.rb
+++ b/activerecord/lib/active_record/associations/collection_proxy.rb
@@ -1070,6 +1070,12 @@ module ActiveRecord
proxy_association.reset_scope
self
end
+
+ private
+
+ def exec_queries
+ load_target
+ end
end
end
end
diff --git a/activerecord/test/cases/associations_test.rb b/activerecord/test/cases/associations_test.rb
index 5fb7f191ed..c22efaa227 100644
--- a/activerecord/test/cases/associations_test.rb
+++ b/activerecord/test/cases/associations_test.rb
@@ -181,6 +181,14 @@ class AssociationProxyTest < ActiveRecord::TestCase
assert !david.projects.loaded?
end
+ def test_load_does_load_target
+ david = developers(:david)
+
+ assert !david.projects.loaded?
+ david.projects.load
+ assert david.projects.loaded?
+ end
+
def test_inspect_does_not_reload_a_not_yet_loaded_target
andreas = Developer.new :name => 'Andreas', :log => 'new developer added'
assert !andreas.audit_logs.loaded?