method

through_scope

Importance_0
through_scope() 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/preloader/through_association.rb, line 75
        def through_scope
          scope = through_reflection.klass.unscoped

          if options[:source_type]
            scope.where! reflection.foreign_type => options[:source_type]
          else
            unless reflection_scope.where_values.empty?
              scope.includes_values = Array(reflection_scope.values[:includes] || options[:source])
              scope.where_values    = reflection_scope.values[:where]
              scope.bind_values     = reflection_scope.bind_values
            end

            scope.references! reflection_scope.values[:references]
            scope = scope.order reflection_scope.values[:order] if scope.eager_loading?
          end

          scope
        end
Register or log in to add new notes.