aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/associations/has_many_through_association.rb2
-rw-r--r--activerecord/lib/active_record/relation/predicate_builder.rb2
2 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/has_many_through_association.rb b/activerecord/lib/active_record/associations/has_many_through_association.rb
index d1458f30ba..2099effbeb 100644
--- a/activerecord/lib/active_record/associations/has_many_through_association.rb
+++ b/activerecord/lib/active_record/associations/has_many_through_association.rb
@@ -136,7 +136,7 @@ module ActiveRecord
records = load_target if records == :all
scope = through_association.scope
- scope.where! construct_join_attributes(*records)
+ scope.where! construct_join_attributes(*records) unless records.empty?
case method
when :destroy
diff --git a/activerecord/lib/active_record/relation/predicate_builder.rb b/activerecord/lib/active_record/relation/predicate_builder.rb
index 24cbae83de..db2588e725 100644
--- a/activerecord/lib/active_record/relation/predicate_builder.rb
+++ b/activerecord/lib/active_record/relation/predicate_builder.rb
@@ -17,6 +17,8 @@ module ActiveRecord
queries.concat expand(association && association.klass, table, k, v)
end
end
+ elsif value.is_a?(Array) && value.empty?
+ raise ArgumentError, "Condition value in SQL clause can't be an empty array"
else
column = column.to_s