Rails Ruby 中的 Searchkick Where 子句

Searchkick Where Clause in Ruby on Rails

我正在执行搜索并希望显示所有内容,但只搜索特定列,而不是所有列。

我的 table 由 4 列组成,我只想查询 party 列,在 SQL 中将是

select * from rsvp where party like '%search%'

我目前有以下代码,但返回的结果是 search 在四列中的任何一列

@rsvps = Rsvp.search params[:search], field: [:party], page: params[:page], per_page: 15

我试过这个代码

@rsvps = Rsvp.search params[:search], where: {party: params[:search]}, page: params[:page], per_page: 15

还有这个

@rsvps = Rsvp.search "*", where: {party: params[:search]}, page: params[:page], per_page: 15

但两者都没有返回结果。

我怎样才能做到这一点?

谢谢

你几乎做对了,你需要使用 fields 而不是 field

@rsvps = Rsvp.search params[:search], fields: [:party], page: params[:page], per_page: 15
                                           ^
                                           |
                                      s is missing