【发布时间】:2019-09-05 15:59:39
【问题描述】:
我使用 ransack gem,我有一个选择字段 status 有多个选项
status_collection = %w(failed partial successful)
<%= search_form_for @q, :url => validation_path(:anchor => 'list'), :class => 'form-horizontal' do |f| %>
<%= f.select :status_eq, options_for_select(Validation.status_collection, @status_eq_selection), {}, {:class => 'form-control'} %>
<% end %>
在我的控制器中:
def show
@q = Validation.where(report_id: params[:id]).search(params[:q])
@validations = @q.result(distinct: true)
end
我想将选项failed 和partial 合并到一个选择选项failed 中,这样如果我搜索failed,那么ransack 也应该搜索partial 并合并两个搜索结果。
如何通过选择选项 failed 和属性 partial 搜索状态属性,以便通过仅搜索 failed 获得 failed 和 partial 的合并结果。
【问题讨论】:
-
你是说当用户选择
failed时,你想同时搜索状态failed和partial,但是对于其他状态正常工作? -
是的,完全正确。也许有一种简单的洗劫方法可以做到这一点?
-
不是真的,我认为您需要在状态失败时更新您的 ransack 参数。
-
有没有办法将查询与 OR 连接起来,以便可以搜索“失败或部分的状态”?
标签: ruby-on-rails ransack