mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
ActiveRecord::Base#<=> has been removed. Primary keys may not be in order,
or even be numbers, so sorting by id doesn't make sense. Please use `sort_by` and specify the attribute you wish to sort with. For example, change: Post.all.to_a.sort to: Post.all.to_a.sort_by(&:id)
This commit is contained in:
parent
096a57b7f3
commit
6256734e2d
3 changed files with 10 additions and 16 deletions
|
@ -1,3 +1,13 @@
|
||||||
|
* ActiveRecord::Base#<=> has been removed. Primary keys may not be in order,
|
||||||
|
or even be numbers, so sorting by id doesn't make sense. Please use `sort_by`
|
||||||
|
and specify the attribute you wish to sort with. For example, change:
|
||||||
|
|
||||||
|
Post.all.to_a.sort
|
||||||
|
|
||||||
|
to:
|
||||||
|
|
||||||
|
Post.all.to_a.sort_by(&:id)
|
||||||
|
|
||||||
* Fix: joins association, with defined in the scope block constraints by using several
|
* Fix: joins association, with defined in the scope block constraints by using several
|
||||||
where constraints and at least of them is not `Arel::Nodes::Equality`,
|
where constraints and at least of them is not `Arel::Nodes::Equality`,
|
||||||
generates invalid SQL expression.
|
generates invalid SQL expression.
|
||||||
|
|
|
@ -308,15 +308,6 @@ module ActiveRecord
|
||||||
@attributes.frozen?
|
@attributes.frozen?
|
||||||
end
|
end
|
||||||
|
|
||||||
# Allows sort on objects
|
|
||||||
def <=>(other_object)
|
|
||||||
if other_object.is_a?(self.class)
|
|
||||||
self.to_key <=> other_object.to_key
|
|
||||||
else
|
|
||||||
super
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# Returns +true+ if the record is read only. Records loaded through joins with piggy-back
|
# Returns +true+ if the record is read only. Records loaded through joins with piggy-back
|
||||||
# attributes will be marked as read only since they cannot be saved.
|
# attributes will be marked as read only since they cannot be saved.
|
||||||
def readonly?
|
def readonly?
|
||||||
|
|
|
@ -558,13 +558,6 @@ class BasicsTest < ActiveRecord::TestCase
|
||||||
assert_equal [ Topic.find(1) ], [ Topic.find(2).topic ] & [ Topic.find(1) ]
|
assert_equal [ Topic.find(1) ], [ Topic.find(2).topic ] & [ Topic.find(1) ]
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_comparison
|
|
||||||
topic_1 = Topic.create!
|
|
||||||
topic_2 = Topic.create!
|
|
||||||
|
|
||||||
assert_equal [topic_2, topic_1].sort, [topic_1, topic_2]
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_create_without_prepared_statement
|
def test_create_without_prepared_statement
|
||||||
topic = Topic.connection.unprepared_statement do
|
topic = Topic.connection.unprepared_statement do
|
||||||
Topic.create(:title => 'foo')
|
Topic.create(:title => 'foo')
|
||||||
|
|
Loading…
Reference in a new issue