method
find_target
v5.1.7 -
Show latest stable
- Class:
ActiveRecord::Associations::SingularAssociation
find_target()private
No documentation available.
# File activerecord/lib/active_record/associations/singular_association.rb, line 38
def find_target
return scope.take if skip_statement_cache?
conn = klass.connection
sc = reflection.association_scope_cache(conn, owner) do
StatementCache.create(conn) { |params|
as = AssociationScope.create { params.bind }
target_scope.merge(as.scope(self, conn)).limit(1)
}
end
binds = AssociationScope.get_bind_values(owner, reflection.chain)
sc.execute(binds, klass, conn) do |record|
set_inverse_instance record
end.first
rescue ::RangeError
nil
end