method
next_chain_scope
v5.0.0.1 -
Show latest stable
- Class:
ActiveRecord::Associations::AssociationScope
next_chain_scope(scope, table, reflection, association_klass, foreign_table, next_reflection)private
No documentation available.
# File activerecord/lib/active_record/associations/association_scope.rb, line 81
def next_chain_scope(scope, table, reflection, association_klass, foreign_table, next_reflection)
join_keys = reflection.join_keys(association_klass)
key = join_keys.key
foreign_key = join_keys.foreign_key
constraint = table[key].eq(foreign_table[foreign_key])
if reflection.type
value = transform_value(next_reflection.klass.base_class.name)
scope = scope.where(table.name => { reflection.type => value })
end
scope = scope.joins(join(foreign_table, constraint))
end