aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/collection_association.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2016-07-18 22:11:35 +0900
committerRyuta Kamizono <kamipo@gmail.com>2016-12-25 04:55:50 +0900
commitd1e0f11b49c9c7598efffbc44a94539b6e982e5c (patch)
treebe9ee3c93723fa5aff2a1dc9867aa25d4fa7907f /activerecord/lib/active_record/associations/collection_association.rb
parent5b874cf42a41b966ca223a278b77fd0b4144ddb6 (diff)
downloadrails-d1e0f11b49c9c7598efffbc44a94539b6e982e5c.tar.gz
rails-d1e0f11b49c9c7598efffbc44a94539b6e982e5c.tar.bz2
rails-d1e0f11b49c9c7598efffbc44a94539b6e982e5c.zip
Delegate to `scope` rather than `merge!` for collection proxy
`merge! association.scope(nullify: false)` is expensive but most methods do not need the merge.
Diffstat (limited to 'activerecord/lib/active_record/associations/collection_association.rb')
-rw-r--r--activerecord/lib/active_record/associations/collection_association.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/associations/collection_association.rb b/activerecord/lib/active_record/associations/collection_association.rb
index 46923f690a..f747491a12 100644
--- a/activerecord/lib/active_record/associations/collection_association.rb
+++ b/activerecord/lib/active_record/associations/collection_association.rb
@@ -313,9 +313,9 @@ module ActiveRecord
record
end
- def scope(opts = {})
- scope = super()
- scope.none! if opts.fetch(:nullify, true) && null_scope?
+ def scope
+ scope = super
+ scope.none! if null_scope?
scope
end