답변

1

당신은으로 reflect_on_all_associations을 사용할 수 :example_assocbelongs_to 협회 중 하나입니다

Foo.reflect_on_all_associations(:belongs_to).map(&:name).include?(:example_assoc) 

.

또는 모델 클래스의 인스턴스가있는 경우 :

@foo.class.reflect_on_all_associations(:belongs_to).map(&:name).include?(:example_assoc) 
+0

를 조회합니다. 질문은 "관련 객체가 있다면"입니다. – gernberg

1

당신은 아마 당신이 사용하는 것이 좋습니다 쿼리의 수를 최소화하려는 경우이 연결을 "포함"열망 부하를.

예 :

나중에 루프 또는 뭔가 다음
foos = Foo.includes(:example_associations).all 

그리고 추가 데이터베이스를 호출하지 않겠

foo.example_associations.present? 

를 호출 나는 질문이 정말 무엇인지 깨닫게 해주기 읽기

+0

Foo에 왼쪽 외부 조인을 생성합니다. 즉, Foo가 항상 포함되며, nil을 반환합니다. example_associations에는 Foo가 없으므로 의미가 없습니다. – corvuszero

관련 문제