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控制台中的代码并检查正在执行的查询数量。我会认为这将是两个疑问。 –