From dcee87c9fc2f16e240a90c564a82d23e9f9e9181 Mon Sep 17 00:00:00 2001 From: Miguel Grazziotin Date: Fri, 29 May 2015 17:42:54 -0300 Subject: [#20338] WIP: first basic implementation and specs --- activerecord/lib/active_record/relation/finder_methods.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'activerecord/lib/active_record') diff --git a/activerecord/lib/active_record/relation/finder_methods.rb b/activerecord/lib/active_record/relation/finder_methods.rb index 6020aa238f..e75ff6fd69 100644 --- a/activerecord/lib/active_record/relation/finder_methods.rb +++ b/activerecord/lib/active_record/relation/finder_methods.rb @@ -459,7 +459,11 @@ module ActiveRecord end if result.size == expected_size - result + # result + records_by_id = result.each_with_object(Hash.new) do |record, by_id| + by_id[record.id] = record + end + ids.first(expected_size).collect { |id| records_by_id[id] } else raise_record_not_found_exception!(ids, result.size, expected_size) end -- cgit v1.2.3