diff options
| -rw-r--r-- | activerecord/lib/active_record/relation/finder_methods.rb | 2 | ||||
| -rw-r--r-- | activerecord/test/cases/finder_test.rb | 5 | 
2 files changed, 5 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/relation/finder_methods.rb b/activerecord/lib/active_record/relation/finder_methods.rb index 0fabfe5518..930e4377ff 100644 --- a/activerecord/lib/active_record/relation/finder_methods.rb +++ b/activerecord/lib/active_record/relation/finder_methods.rb @@ -416,7 +416,7 @@ module ActiveRecord          raise UnknownPrimaryKey.new(@klass) if primary_key.nil?          expects_array = ids.first.kind_of?(Array) -        return ids.first if expects_array && ids.first.empty? +        return [] if expects_array && ids.first.empty?          ids = ids.flatten.compact.uniq diff --git a/activerecord/test/cases/finder_test.rb b/activerecord/test/cases/finder_test.rb index e73c88dd5d..355fb4517f 100644 --- a/activerecord/test/cases/finder_test.rb +++ b/activerecord/test/cases/finder_test.rb @@ -371,7 +371,10 @@ class FinderTest < ActiveRecord::TestCase    end    def test_find_an_empty_array -    assert_equal [], Topic.find([]) +    empty_array = [] +    result = Topic.find(empty_array) +    assert_equal [], result +    assert_not_same empty_array, result    end    def test_find_doesnt_have_implicit_ordering  | 
