aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorFranck Verrot <franck@verrot.fr>2011-07-24 08:17:36 +0200
committerFranck Verrot <franck@verrot.fr>2011-07-24 08:18:04 +0200
commit77bb0b79f2ed54501046d0e983ef6b10e4bb7b9b (patch)
tree1ebc2da4210a397cb979155664c6f04f5b07a0ee /activerecord
parentd33eb07543aed1a07f9efe40ff7edc983b401957 (diff)
downloadrails-77bb0b79f2ed54501046d0e983ef6b10e4bb7b9b.tar.gz
rails-77bb0b79f2ed54501046d0e983ef6b10e4bb7b9b.tar.bz2
rails-77bb0b79f2ed54501046d0e983ef6b10e4bb7b9b.zip
Ordering with extra spaces was raising a SQL exception
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/relation/query_methods.rb1
-rw-r--r--activerecord/test/cases/relations_test.rb4
2 files changed, 5 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index 8bd4732c0c..1654ae1eac 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -311,6 +311,7 @@ module ActiveRecord
o.reverse
when String, Symbol
o.to_s.split(',').collect do |s|
+ s.strip!
s.gsub!(/\sasc\Z/i, ' DESC') || s.gsub!(/\sdesc\Z/i, ' ASC') || s.concat(' DESC')
end
else
diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb
index 0aaa0342b1..6363cae371 100644
--- a/activerecord/test/cases/relations_test.rb
+++ b/activerecord/test/cases/relations_test.rb
@@ -961,4 +961,8 @@ class RelationTest < ActiveRecord::TestCase
assert scope.eager_loading?
end
+
+ def test_ordering_with_extra_spaces
+ assert_equal authors(:david), Author.order('organization_id ASC , owned_essay_id DESC').last
+ end
end