From 35202aa6911679cccb8187d12996e3f30661385c Mon Sep 17 00:00:00 2001 From: Jon Leighton Date: Sat, 24 Dec 2011 00:24:49 +0000 Subject: Make PredicateBuilder recognise AR::Model --- activerecord/lib/active_record/relation/predicate_builder.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'activerecord/lib/active_record') diff --git a/activerecord/lib/active_record/relation/predicate_builder.rb b/activerecord/lib/active_record/relation/predicate_builder.rb index a789f48725..eee198e760 100644 --- a/activerecord/lib/active_record/relation/predicate_builder.rb +++ b/activerecord/lib/active_record/relation/predicate_builder.rb @@ -22,7 +22,7 @@ module ActiveRecord value = value.select(value.klass.arel_table[value.klass.primary_key]) if value.select_values.empty? attribute.in(value.arel.ast) when Array, ActiveRecord::Associations::CollectionProxy - values = value.to_a.map {|x| x.is_a?(ActiveRecord::Base) ? x.id : x} + values = value.to_a.map {|x| x.is_a?(ActiveRecord::Model) ? x.id : x} ranges, values = values.partition {|v| v.is_a?(Range) || v.is_a?(Arel::Relation)} array_predicates = ranges.map {|range| attribute.in(range)} @@ -41,7 +41,7 @@ module ActiveRecord array_predicates.inject {|composite, predicate| composite.or(predicate)} when Range, Arel::Relation attribute.in(value) - when ActiveRecord::Base + when ActiveRecord::Model attribute.eq(value.id) when Class # FIXME: I think we need to deprecate this behavior -- cgit v1.2.3