0

我将 searchkick 用于 geoloc,它工作正常,问题是我的查询返回了周边的所有用户,包括发出请求的用户。

所以目前我有

    res = User.search "*", where: {location: {near:  [@user.current_position.latitude, @user.current_position.longitude], within: params[:perimeter] + "mi"}}

我想要这样的东西:

    res = User.search "*", where: {location: {near:  [@user.current_position.latitude, @user.current_position.longitude], within: params[:perimeter] + "mi"}, {:email != @user.email}}

只获取与执行查询的用户不同的用户。

我不是红宝石专家,所以我找不到正确的语法来做到这一点。有什么帮助吗?

4

1 回答 1

0

根据Queries的文档,not条件应用如下:

res = User.search "*", where: { 
  location: { 
    near:  [ @user.current_position.latitude, @user.current_position.longitude ], 
    within: params[:perimeter] + "mi" 
  }, 
  email: { not: @user.email }
}

格式化代码以email: { not: @user.email }在新行中显示。

于 2014-07-20T12:14:26.250 回答