From 8734f9a2710e6ad62caa7e1dcf543b83562e18ed Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Wed, 30 Dec 2009 12:13:55 +0530 Subject: Relation#many? shoud load the records if there's a LIMIT --- activerecord/lib/active_record/relation.rb | 2 +- activerecord/test/cases/relations_test.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb index fa517aba38..52d66dc20a 100644 --- a/activerecord/lib/active_record/relation.rb +++ b/activerecord/lib/active_record/relation.rb @@ -250,7 +250,7 @@ module ActiveRecord if block_given? to_a.many? { |*block_args| yield(*block_args) } else - size > 1 + @relation.send(:taken).present? ? to_a.many? : size > 1 end end diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb index 5d6f9ad430..6605c8bf34 100644 --- a/activerecord/test/cases/relations_test.rb +++ b/activerecord/test/cases/relations_test.rb @@ -471,4 +471,10 @@ class RelationTest < ActiveRecord::TestCase assert posts.loaded? end + def test_many_with_limits + posts = Post.scoped + + assert posts.many? + assert ! posts.limit(1).many? + end end -- cgit v1.2.3