diff options
author | eileencodes <eileencodes@gmail.com> | 2014-08-04 19:39:07 -0400 |
---|---|---|
committer | eileencodes <eileencodes@gmail.com> | 2014-08-04 19:47:25 -0400 |
commit | 80af2a4935158b0d46a451d18c77971a7e0ca9e1 (patch) | |
tree | 4bf3cf6d5d53d75b1b8476e8c6ffa8bed41d4234 /activerecord/lib/active_record/associations | |
parent | cfb8d4ad3de3b2ea36d0237e2967bfed1a47c56b (diff) | |
download | rails-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/lib/active_record/associations')
-rw-r--r-- | activerecord/lib/active_record/associations/through_association.rb | 4 |
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 |