Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Revert "Ensure HasManyThroughAssociation#destroy delete orphan records"

This reverts commit 7a85927.

There's still some debate about the intended behaviour in the ticket, leaving in master but removing prior to shipping 2.3.3
  • Loading branch information...
commit b1a044b6291b1045e31dc624189f38a3abc4cda2 1 parent 2c3d290
@NZKoz NZKoz authored
View
7 activerecord/lib/active_record/associations/has_many_through_association.rb
@@ -22,13 +22,6 @@ def create(attrs = nil)
end
end
- def destroy(*records)
- transaction do
- delete_records(flatten_deeper(records))
- super
- end
- end
-
# Returns the size of the collection by executing a SELECT COUNT(*) query if the collection hasn't been loaded and
# calling collection.size if it has. If it's more likely than not that the collection does have a size larger than zero,
# and you need to fetch that collection afterwards, it'll take one fewer SELECT query if you use #length.
View
10 activerecord/test/cases/associations/has_many_through_associations_test.rb
@@ -93,7 +93,7 @@ def test_delete_association
end
def test_destroy_association
- assert_difference ["Person.count", "Reader.count"], -1 do
+ assert_difference "Person.count", -1 do
posts(:welcome).people.destroy(people(:michael))
end
@@ -102,7 +102,7 @@ def test_destroy_association
end
def test_destroy_all
- assert_difference ["Person.count", "Reader.count"], -1 do
+ assert_difference "Person.count", -1 do
posts(:welcome).people.destroy_all
end
@@ -110,12 +110,6 @@ def test_destroy_all
assert posts(:welcome).people(true).empty?
end
- def test_should_raise_exception_for_destroying_mismatching_records
- assert_no_difference ["Person.count", "Reader.count"] do
- assert_raise(ActiveRecord::AssociationTypeMismatch) { posts(:welcome).people.destroy(posts(:thinking)) }
- end
- end
-
def test_replace_association
assert_queries(4){posts(:welcome);people(:david);people(:michael); posts(:welcome).people(true)}
Please sign in to comment.
Something went wrong with that request. Please try again.