find_target() 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/singular_association.rb, line 38
        def find_target
          scope = self.scope
          return scope.take if skip_statement_cache?(scope)

          conn = klass.connection
          sc = reflection.association_scope_cache(conn, owner) do |params|
            as = AssociationScope.create { params.bind }
            target_scope.merge!(as.scope(self)).limit(1)
          end

          binds = AssociationScope.get_bind_values(owner, reflection.chain)
          sc.execute(binds, conn) do |record|
            set_inverse_instance record
          end.first
        rescue ::RangeError
          nil
        end
Register or log in to add new notes.