Rails GeoKit根据ID排除结果

时间:2014-08-23 08:45:30

标签: ruby-on-rails ruby-on-rails-4 geokit

我有以下代码

@venue = Venue.friendly.find(params[:id])
@venues_nearby = Venue.within(100, :origin => [@venue.lat, @venue.lng]).where(:id != @venue.id)

我想要排除记录@venue.id

有没有办法用.within方法将其链接起来?

1 个答案:

答案 0 :(得分:1)

"内"返回一个范围,以便您可以使用普通的arel执行此操作:

  

Location.within(3.9,origin:@loc_a).where(" id!=#{@ loc_e.id}")

如果你想要一个更好的语法,你可以使用squeel gem获得:

  

Location.within(3.9,origin:@loc_a).where {id!= @ loc_e.id}