aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/scoping
diff options
context:
space:
mode:
authorAndrew White <andyw@pixeltrix.co.uk>2012-06-01 03:03:50 +0100
committerAndrew White <andyw@pixeltrix.co.uk>2012-06-01 03:03:50 +0100
commit7056079761eba049bbc6108946a1626fe169dbdf (patch)
tree6f55bdc0521a3dd521cb2776da07d927236203cf /activerecord/lib/active_record/scoping
parent4df968071436a4585c8e4694efecfabb02f1a806 (diff)
downloadrails-7056079761eba049bbc6108946a1626fe169dbdf.tar.gz
rails-7056079761eba049bbc6108946a1626fe169dbdf.tar.bz2
rails-7056079761eba049bbc6108946a1626fe169dbdf.zip
Restore behavior of Active Record 3.2.3 scopes
A series of commits relating to preloading and scopes caused a regression. Cloning the relation calls initialize_copy which resets a number of instance variables to nil. Without this the scope thinks that it is already loaded when it is called again. Reverts the following commits: 13f1401a6cf0266a3b0a91b173f976db2d4e50f3 8491740ca5361ba9df20e1c8b906c709f5bfbc12 dffbb521a0d00c8673a3ad6e0e8ff526f32daf4e Fixes #6575, #6576 & #6577
Diffstat (limited to 'activerecord/lib/active_record/scoping')
-rw-r--r--activerecord/lib/active_record/scoping/named.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/scoping/named.rb b/activerecord/lib/active_record/scoping/named.rb
index d6b0265fb3..9c50baa647 100644
--- a/activerecord/lib/active_record/scoping/named.rb
+++ b/activerecord/lib/active_record/scoping/named.rb
@@ -34,7 +34,7 @@ module ActiveRecord
if current_scope
current_scope.clone
else
- scope = relation
+ scope = relation.clone
scope.default_scoped = true
scope
end
@@ -48,7 +48,7 @@ module ActiveRecord
if current_scope
current_scope.scope_for_create
else
- scope = relation
+ scope = relation.clone
scope.default_scoped = true
scope.scope_for_create
end