aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorJason Cheow <jason@jasoncheow.com>2010-11-14 13:55:36 +0800
committerSantiago Pastorino <santiago@wyeworks.com>2010-11-14 15:32:52 -0200
commit93c9f4a942c622ecbe8d46ab4838bd072aef9fc0 (patch)
tree177c6752e9a15b22ccd53b893e65ef002a54c20f /activerecord
parentfae4264a7efe2df4890b5f1095bd7454e3bcb939 (diff)
downloadrails-93c9f4a942c622ecbe8d46ab4838bd072aef9fc0.tar.gz
rails-93c9f4a942c622ecbe8d46ab4838bd072aef9fc0.tar.bz2
rails-93c9f4a942c622ecbe8d46ab4838bd072aef9fc0.zip
Fix bug where size of through association is not correct after adding a has_many association (occurs only before main object has been reloaded).
[#5968 state:committed] Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/associations/has_many_through_association.rb1
-rw-r--r--activerecord/test/cases/associations/has_many_through_associations_test.rb7
2 files changed, 7 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/has_many_through_association.rb b/activerecord/lib/active_record/associations/has_many_through_association.rb
index 51770cff0f..0a5858f36e 100644
--- a/activerecord/lib/active_record/associations/has_many_through_association.rb
+++ b/activerecord/lib/active_record/associations/has_many_through_association.rb
@@ -69,7 +69,6 @@ module ActiveRecord
through_association = @owner.send(@reflection.through_reflection.name)
through_record = through_association.create!(construct_join_attributes(record))
- through_association.proxy_target << through_record
end
# TODO - add dependent option support
diff --git a/activerecord/test/cases/associations/has_many_through_associations_test.rb b/activerecord/test/cases/associations/has_many_through_associations_test.rb
index 4b9f49f1ec..94e1eb8c89 100644
--- a/activerecord/test/cases/associations/has_many_through_associations_test.rb
+++ b/activerecord/test/cases/associations/has_many_through_associations_test.rb
@@ -449,4 +449,11 @@ class HasManyThroughAssociationsTest < ActiveRecord::TestCase
comment = post.comments.build
assert author.comments.include?(comment)
end
+
+ def test_size_of_through_association_should_increase_correctly_when_has_many_association_is_added
+ post = posts(:thinking)
+ readers = post.readers.size
+ post.people << people(:michael)
+ assert_equal readers + 1, post.readers.size
+ end
end