在Ransack中组合搜索谓词

rev*_*urg 6 ruby-on-rails ransack

如何实现相同的:name_eq_or_description_cont组合_eq_cont谓词到同一个搜索键,以便我可以在表单中创建一个搜索字段:

<%= search_field_tag :item, :name_eq_or_description_cont %>
Run Code Online (Sandbox Code Playgroud)

pix*_*rth 0

我遇到过这样的事情,但似乎需要在后端预先配置。不知道如何从前端传递 Ransack::Constants::OR :

.ransack({title_cont: params[:q], id_eq: params[:q]}, { grouping: Ransack::Constants::OR })
Run Code Online (Sandbox Code Playgroud)

实际上,更新一下,这有效:

Departure.order(search_order).limit(search_limit).ransack({m: 'or', name_cont: "20967", id_eq: "20967"}).result
Run Code Online (Sandbox Code Playgroud)

不确定“m”是什么,但它似乎有效。