aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2013-10-20 13:18:50 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2013-10-20 13:18:50 -0700
commitfe67bc2a86f86bdc9c01c4ae54025f46cb7f0f55 (patch)
tree213e16ca9414eb6f394d5adaa3025806d0937628 /activerecord/lib/active_record/associations
parente7bb4bb072b16a715b0a0346b5b127b7c957fae8 (diff)
downloadrails-fe67bc2a86f86bdc9c01c4ae54025f46cb7f0f55.tar.gz
rails-fe67bc2a86f86bdc9c01c4ae54025f46cb7f0f55.tar.bz2
rails-fe67bc2a86f86bdc9c01c4ae54025f46cb7f0f55.zip
pass in scope chain so reflection is not needed
Diffstat (limited to 'activerecord/lib/active_record/associations')
-rw-r--r--activerecord/lib/active_record/associations/join_dependency.rb2
-rw-r--r--activerecord/lib/active_record/associations/join_dependency/join_association.rb4
2 files changed, 3 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/associations/join_dependency.rb b/activerecord/lib/active_record/associations/join_dependency.rb
index ad7c978ff2..5d1e41dabf 100644
--- a/activerecord/lib/active_record/associations/join_dependency.rb
+++ b/activerecord/lib/active_record/associations/join_dependency.rb
@@ -168,7 +168,7 @@ module ActiveRecord
chain = child.reflection.chain
foreign_table = node.table
foreign_klass = node.base_klass
- child.join_constraints(foreign_table, foreign_klass, child.join_type, child.tables, chain)
+ child.join_constraints(foreign_table, foreign_klass, child.join_type, child.tables, child.reflection.scope_chain, chain)
.concat make_joins(child)
}
end
diff --git a/activerecord/lib/active_record/associations/join_dependency/join_association.rb b/activerecord/lib/active_record/associations/join_dependency/join_association.rb
index 926d03e495..7420e0df72 100644
--- a/activerecord/lib/active_record/associations/join_dependency/join_association.rb
+++ b/activerecord/lib/active_record/associations/join_dependency/join_association.rb
@@ -25,11 +25,11 @@ module ActiveRecord
super && reflection == other.reflection
end
- def join_constraints(foreign_table, foreign_klass, join_type, tables, chain)
+ def join_constraints(foreign_table, foreign_klass, join_type, tables, scope_chain, chain)
joins = []
tables = tables.reverse
- scope_chain_iter = reflection.scope_chain.reverse_each
+ scope_chain_iter = scope_chain.reverse_each
# The chain starts with the target table, but we want to end with it here (makes
# more sense in this context), so we reverse