aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2013-01-18 08:51:55 -0800
committerJon Leighton <j@jonathanleighton.com>2013-01-18 08:51:55 -0800
commit40e797827935756aacf0463e4b44e1c1c92b0aeb (patch)
treeeb3f3478ef44da0327abf4ae63457f35a30aa7f0 /activerecord/lib/active_record
parent1d55e07ff9531890a54d8dc0449e848352064e9e (diff)
parentbc4edca7b178bcac4d259809e965368e30a692a8 (diff)
downloadrails-40e797827935756aacf0463e4b44e1c1c92b0aeb.tar.gz
rails-40e797827935756aacf0463e4b44e1c1c92b0aeb.tar.bz2
rails-40e797827935756aacf0463e4b44e1c1c92b0aeb.zip
Merge pull request #8994 from Springest/fix_default_scope_update_all_delete_all
Fix .update_all and .delete_all when using a condition on a joined table in a default_scope
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/relation.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb
index 6ec5cf3e18..0718c5076e 100644
--- a/activerecord/lib/active_record/relation.rb
+++ b/activerecord/lib/active_record/relation.rb
@@ -276,7 +276,7 @@ module ActiveRecord
stmt.table(table)
stmt.key = table[primary_key]
- if joins_values.any?
+ if with_default_scope.joins_values.any?
@klass.connection.join_to_update(stmt, arel)
else
stmt.take(arel.limit)
@@ -401,7 +401,7 @@ module ActiveRecord
stmt = Arel::DeleteManager.new(arel.engine)
stmt.from(table)
- if joins_values.any?
+ if with_default_scope.joins_values.any?
@klass.connection.join_to_delete(stmt, arel, table[primary_key])
else
stmt.wheres = arel.constraints