aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authoreileencodes <eileencodes@gmail.com>2014-08-04 19:39:07 -0400
committereileencodes <eileencodes@gmail.com>2014-08-04 19:47:25 -0400
commit80af2a4935158b0d46a451d18c77971a7e0ca9e1 (patch)
tree4bf3cf6d5d53d75b1b8476e8c6ffa8bed41d4234 /activerecord
parentcfb8d4ad3de3b2ea36d0237e2967bfed1a47c56b (diff)
downloadrails-80af2a4935158b0d46a451d18c77971a7e0ca9e1.tar.gz
rails-80af2a4935158b0d46a451d18c77971a7e0ca9e1.tar.bz2
rails-80af2a4935158b0d46a451d18c77971a7e0ca9e1.zip
Don't delegate Reflection#chain to ThroughAssociation
We shouldn't be delegating chain to ThroughAssociation since the only place that needs to call it is `target_scope`. Instead we can call `reflecion.chain`.
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/associations/through_association.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/associations/through_association.rb b/activerecord/lib/active_record/associations/through_association.rb
index 24cb5ab545..611d471e62 100644
--- a/activerecord/lib/active_record/associations/through_association.rb
+++ b/activerecord/lib/active_record/associations/through_association.rb
@@ -3,7 +3,7 @@ module ActiveRecord
module Associations
module ThroughAssociation #:nodoc:
- delegate :source_reflection, :through_reflection, :chain, :to => :reflection
+ delegate :source_reflection, :through_reflection, :to => :reflection
protected
@@ -13,7 +13,7 @@ module ActiveRecord
# 2. To get the type conditions for any STI models in the chain
def target_scope
scope = super
- chain.drop(1).each do |reflection|
+ reflection.chain.drop(1).each do |reflection|
relation = reflection.klass.all
relation.merge!(reflection.scope) if reflection.scope