Searchkick,查询中的多个条件

时间:2014-07-20 12:03:14

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

我使用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}}

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

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

1 个答案:

答案 0 :(得分: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 }的格式化代码。