diff options
| -rw-r--r-- | activerecord/lib/active_record/relation/finder_methods.rb | 21 | 
1 files changed, 10 insertions, 11 deletions
| diff --git a/activerecord/lib/active_record/relation/finder_methods.rb b/activerecord/lib/active_record/relation/finder_methods.rb index 3cbb12a09d..3f5d6de78a 100644 --- a/activerecord/lib/active_record/relation/finder_methods.rb +++ b/activerecord/lib/active_record/relation/finder_methods.rb @@ -489,20 +489,19 @@ module ActiveRecord      end      def find_nth(index, offset = nil) +      # TODO: once the offset argument is removed we rely on offset_index +      # within find_nth_with_limit, rather than pass it in via +      # find_nth_with_limit_and_offset +      if offset +        ActiveSupport::Deprecation.warn(<<-MSG.squish) +          Passing an offset argument to find_nth is deprecated, +          please use Relation#offset instead. +        MSG +      end        if loaded?          @records[index]        else -        # TODO: once the offset argument is removed we rely on offset_index -        # within find_nth_with_limit, rather than pass it in via -        # find_nth_with_limit_and_offset -        if offset -          ActiveSupport::Deprecation.warn(<<-MSG.squish) -            Passing an offset argument to find_nth is deprecated, -            please use Relation#offset instead. -          MSG -        else -          offset = offset_index -        end +        offset ||= offset_index          @offsets[offset + index] ||= find_nth_with_limit_and_offset(index, 1, offset: offset).first        end      end | 
