Fix order method to accept relation attributes.

Signed-off-by: José Valim <jose.valim@gmail.com>
This commit is contained in:
Emilio Tagua
2010-06-22 10:46:12 -03:00
committed by José Valim
parent df595b577e
commit 7df105b1e6
2 changed files with 7 additions and 3 deletions

View File

@@ -137,7 +137,7 @@ module ActiveRecord
arel = arel.group(*@group_values.uniq.select{|g| g.present?}) if @group_values.present?
arel = arel.order(*@order_values.uniq.select{|o| o.present?}.map(&:to_s)) if @order_values.present?
arel = arel.order(*@order_values.uniq.select{|o| o.present?}) if @order_values.present?
selects = @select_values.uniq

View File

@@ -503,13 +503,13 @@ class RelationTest < ActiveRecord::TestCase
def test_many
posts = Post.scoped
assert_queries(2) do
assert posts.many? # Uses COUNT()
assert posts.many? {|p| p.id > 0 }
assert ! posts.many? {|p| p.id < 2 }
end
assert posts.loaded?
end
@@ -593,4 +593,8 @@ class RelationTest < ActiveRecord::TestCase
assert_equal "lifo", relation.author
assert_equal "lifo", relation.limit(1).author
end
def test_order_by_relation_attribute
assert_equal Post.order(Post.arel_table[:title]).all, Post.order("title").all
end
end