diff options
author | José Valim <jose.valim@gmail.com> | 2012-03-12 05:16:19 -0700 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2012-03-12 05:16:19 -0700 |
commit | 1e2de2cb74088a4dda5799587530be63279cc9c8 (patch) | |
tree | 93c2ec480fc6e4388de5a990e28c15f96d4345d1 | |
parent | 0533ee45a7a03145d4a37a2b6e3275c6f625a295 (diff) | |
parent | a2c2f406612a1855fbc6fe816cf3e15b4ef531d3 (diff) | |
download | rails-1e2de2cb74088a4dda5799587530be63279cc9c8.tar.gz rails-1e2de2cb74088a4dda5799587530be63279cc9c8.tar.bz2 rails-1e2de2cb74088a4dda5799587530be63279cc9c8.zip |
Merge pull request #5390 from arunagw/picked_commits
fix activerecord query_method regression with offset into Fixnum
-rw-r--r-- | activerecord/lib/active_record/relation/query_methods.rb | 2 | ||||
-rw-r--r-- | activerecord/test/cases/finder_test.rb | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb index 87dd513880..d737b34115 100644 --- a/activerecord/lib/active_record/relation/query_methods.rb +++ b/activerecord/lib/active_record/relation/query_methods.rb @@ -329,7 +329,7 @@ module ActiveRecord arel.having(*@having_values.uniq.reject{|h| h.blank?}) unless @having_values.empty? arel.take(connection.sanitize_limit(@limit_value)) if @limit_value - arel.skip(@offset_value) if @offset_value + arel.skip(@offset_value.to_i) if @offset_value arel.group(*@group_values.uniq.reject{|g| g.blank?}) unless @group_values.empty? diff --git a/activerecord/test/cases/finder_test.rb b/activerecord/test/cases/finder_test.rb index 76c041397a..8a7d208524 100644 --- a/activerecord/test/cases/finder_test.rb +++ b/activerecord/test/cases/finder_test.rb @@ -1185,6 +1185,10 @@ class FinderTest < ActiveRecord::TestCase end end + def test_finder_with_offset_string + assert_nothing_raised(ActiveRecord::StatementInvalid) { Topic.find(:all, :offset => "3") } + end + protected def bind(statement, *vars) if vars.first.is_a?(Hash) |