# search for a particular date (between two other dates)
a = self.where('created_at > ? AND created_at < ?', yes, tom)
# search for a particular location
a = a.each do |loc|
if coorDist(loc.lat, loc.lng, lat, lng) < dist
return loc
end
end
我试图返回一个散列,就像这里的a
的初始值一样。如何循环遍历哈希并收集满足此if
语句条件的实体??这里的方式是,它只返回第一个结果
a.select! do |loc|
coorDist(loc.lat, loc.lng, lat, long) < dist
end
如果您只是返回哈希值,请使用select
而不是select!
。
用#select
代替#each
和if
。
# search for a particular location
a = a.select do |loc|
coorDist(loc.lat, loc.lng, lat, lng) < dist
end