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 3205cd41a2e75570bb228a8e11b18ac0019f1ff2..8c528af399d93774e8019a0efa4a0d83e9badd79 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,8 @@ class JoinAssociation < JoinPart # :nodoc: attr_reader :tables delegate :options, :through_reflection, :source_reflection, :chain, :to => :reflection - delegate :table, :table_name, :to => :parent, :prefix => :parent delegate :alias_tracker, :to => :join_dependency - alias :alias_suffix :parent_table_name - def initialize(reflection, join_dependency, parent = nil) reflection.check_validity! @@ -47,6 +44,9 @@ def initialize(reflection, join_dependency, parent = nil) @tables = construct_tables.reverse end + def parent_table_name; parent.table_name; end + alias :alias_suffix :parent_table_name + def ==(other) other.class == self.class && other.reflection == reflection && @@ -68,7 +68,7 @@ def join_constraints joins = [] tables = @tables.dup - foreign_table = parent_table + foreign_table = parent.table foreign_klass = parent.base_klass scope_chain_iter = reflection.scope_chain.reverse_each