method

last_chain_scope

Importance_0
v7.1.3.2 - Show latest stable - 0 notes - Class: AssociationScope
last_chain_scope(scope, reflection, owner) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/associations/association_scope.rb, line 58
        def last_chain_scope(scope, reflection, owner)
          primary_key = Array(reflection.join_primary_key)
          foreign_key = Array(reflection.join_foreign_key)

          table = reflection.aliased_table
          primary_key_foreign_key_pairs = primary_key.zip(foreign_key)
          primary_key_foreign_key_pairs.each do |join_key, foreign_key|
            value = transform_value(owner._read_attribute(foreign_key))
            scope = apply_scope(scope, table, join_key, value)
          end

          if reflection.type
            polymorphic_type = transform_value(owner.class.polymorphic_name)
            scope = apply_scope(scope, table, reflection.type, polymorphic_type)
          end

          scope
        end
Register or log in to add new notes.