diff options
author | Andrew White <pixeltrix@users.noreply.github.com> | 2017-02-26 22:34:42 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-26 22:34:42 +0000 |
commit | 385799a4a3a361ed2d27a5e72e884f1b7d82f096 (patch) | |
tree | b9b0c0de9374cea368a71cadbf46c1d8a44cff95 /activerecord/lib | |
parent | b10f601e9b8e8b0a5f40e2f839bfde5e7220a44b (diff) | |
parent | 84f4ab90dabbe23db0cd6f74078da6d341401d10 (diff) | |
download | rails-385799a4a3a361ed2d27a5e72e884f1b7d82f096.tar.gz rails-385799a4a3a361ed2d27a5e72e884f1b7d82f096.tar.bz2 rails-385799a4a3a361ed2d27a5e72e884f1b7d82f096.zip |
Merge pull request #25274 from kamipo/fix_find_nth_with_limit_value
Fix `find_nth` with `limit_value`
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/relation/finder_methods.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/relation/finder_methods.rb b/activerecord/lib/active_record/relation/finder_methods.rb index 6412c7b22e..5d24f5f5ca 100644 --- a/activerecord/lib/active_record/relation/finder_methods.rb +++ b/activerecord/lib/active_record/relation/finder_methods.rb @@ -147,7 +147,7 @@ module ActiveRecord def last(limit = nil) return find_last(limit) if loaded? || limit_value - result = limit(limit || 1) + result = limit(limit) result.order!(arel_attribute(primary_key)) if order_values.empty? && primary_key result = result.reverse_order! @@ -536,8 +536,12 @@ module ActiveRecord self end - relation = relation.offset(offset_index + index) unless index.zero? - relation.limit(limit).to_a + if limit_value.nil? || index < limit_value + relation = relation.offset(offset_index + index) unless index.zero? + relation.limit(limit).to_a + else + [] + end end end |