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列中添加了索引。 –
嘗試使用Rails控制檯中的代碼並檢查正在執行的查詢數量。我會認爲這將是兩個疑問。 –