0
두 모델 : Product
및 Location
이 있습니다. 나는 지오 코더 보석을 사용하는 경우개체 컬렉션의 중첩 개체 추출 (위치의 제품)
class Location
has_many :products
end
class Product
belongs_to :location
end
, 나는 나 특정 주소 주변의 모든 위치를 선택할 수 있도록 가까운 범위를 사용할 수 있습니다.
@locations_near_paris = Location.near("Paris")
지금, 나는 @locations_near_paris 컬렉션을 사용, 파리에서 가까운 제품의 컬렉션을 만들고 싶어 :처럼 뭔가. 어떻게해야합니까?
나는 다음과 같은했지만 나는close_locations.each do |l|
unless l.products.nil?
l.products.each do |p|
close_products << p
end
end
end
그래도 작동하지만 데이터베이스 요청이 효율적인지는 알고 있습니까? –
효율적이어야합니다. 특히 제품 테이블의 location_id 열에 색인을 추가 한 경우 –
레일스 콘솔에서 코드를 실행하여 수행중인 쿼리 수를 확인하십시오. 나는 그것이 두 가지 질문 일 것이라고 생각할 것이다. –