diff options
Diffstat (limited to 'activerecord/lib/active_record')
| -rw-r--r-- | activerecord/lib/active_record/relation/finder_methods.rb | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/activerecord/lib/active_record/relation/finder_methods.rb b/activerecord/lib/active_record/relation/finder_methods.rb index e61cacf6a7..50d0f14b98 100644 --- a/activerecord/lib/active_record/relation/finder_methods.rb +++ b/activerecord/lib/active_record/relation/finder_methods.rb @@ -532,7 +532,11 @@ module ActiveRecord          else            relation = ordered_relation -          if limit_value.nil? || index < limit_value +          if limit_value +            limit = [limit_value - index, limit].min +          end + +          if limit > 0              relation = relation.offset(offset_index + index) unless index.zero?              relation.limit(limit).to_a            else | 
