method

next_chain_scope

next_chain_scope(scope, reflection, next_reflection)
private

No documentation available.

# File activerecord/lib/active_record/associations/association_scope.rb, line 78
        def next_chain_scope(scope, reflection, next_reflection)
          primary_key = reflection.join_primary_key
          foreign_key = reflection.join_foreign_key

          table = reflection.aliased_table
          foreign_table = next_reflection.aliased_table
          constraint = table[primary_key].eq(foreign_table[foreign_key])

          if reflection.type
            value = transform_value(next_reflection.klass.polymorphic_name)
            scope = apply_scope(scope, table, reflection.type, value)
          end

          scope.joins!(join(foreign_table, constraint))
        end