aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/associations/join_model_test.rb
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2012-05-11 17:19:30 +0100
committerJon Leighton <j@jonathanleighton.com>2012-05-11 20:11:04 +0100
commitc86a32d7451c5d901620ac58630460915292f88b (patch)
tree6a424a15b39d3a5bfee68c41d4665c494ff0e8aa /activerecord/test/cases/associations/join_model_test.rb
parenta8637cf4938d2decd17e702c399ca9c0cf1a6052 (diff)
downloadrails-c86a32d7451c5d901620ac58630460915292f88b.tar.gz
rails-c86a32d7451c5d901620ac58630460915292f88b.tar.bz2
rails-c86a32d7451c5d901620ac58630460915292f88b.zip
CollectionProxy < Relation
This helps bring the interfaces of CollectionProxy and Relation closer together, and reduces the delegation backflips we need to perform. For example, first_or_create is defined thus: class ActiveRecord::Relation def first_or_create(...) first || create(...) end end If CollectionProxy < Relation, then post.comments.first_or_create will hit the association's #create method which will actually add the new record to the association, just as post.comments.create would. With the previous delegation, post.comments.first_or_create expands to post.comments.scoped.first_or_create, where post.comments.scoped has no knowledge of the association.
Diffstat (limited to 'activerecord/test/cases/associations/join_model_test.rb')
-rw-r--r--activerecord/test/cases/associations/join_model_test.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/test/cases/associations/join_model_test.rb b/activerecord/test/cases/associations/join_model_test.rb
index 3606ce691c..20b0eeb5ea 100644
--- a/activerecord/test/cases/associations/join_model_test.rb
+++ b/activerecord/test/cases/associations/join_model_test.rb
@@ -676,7 +676,7 @@ class AssociationsJoinModelTest < ActiveRecord::TestCase
def test_has_many_through_include_uses_array_include_after_loaded
david = authors(:david)
- david.categories.class # force load target
+ david.categories.load_target
category = david.categories.first