나는 has_many 애완 동물을 가진 Person 모델이 있습니다. Pet 모델에는 is_parent라는 메서드가 있습니까? 애완 동물에게 이미 아이가 있는지 여부에 따라 사람의 애완 동물을 어떻게 필터링합니까? 나는 비슷한 것을 원한다.
person = Person.first
person.pets.any? { |pet| pet.is_parent? } # returns true
person.pets.filter {| pet | pet.is_parent? } 그리고 아이들이있는 모든 애완 동물을 반환합니까?
감사합니다
다음 과 같이 select
Ruby의 Enumerable 모듈 에서 메서드를 사용할 수 있습니다.
person.pets.select { |pet| pet.is_parent? }
다음과 같이 쓸 수도 있습니다.
person.pets.select(&:is_parent?)
즉, 많은 레코드의 경우 일반적으로 데이터베이스 측에서 필터링을 수행하는 것이 가장 좋습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다