搜查宝石导轨和多选

kim*_*o45 5 ruby search ruby-on-rails ransack jquery-chosen

我正在为我的 Rails 应用程序使用 ransack gem,并且在多选方面遇到问题。我有一个工作和一个公司模型,一个公司有很多个工作,一个工作属于一个公司。我想对职位进行搜索,以便人们可以看到特定公司的职位,我做了一些研究,显然这应该在搜索表单中起作用:

= search_form_for @q do |f|
  = f.collection_select :company_name_cont, Company.all, :id, :name, {:multiple => true}, class: 'chosen-it'
  = f.submit "search"
Run Code Online (Sandbox Code Playgroud)

因此,在视图中,我得到了列表(从所选的 gem 中自动完成),但是当我单击搜索时,它不返回任何结果,并且我无法选择多个公司。

但是,当我使用搜索字段时,如下所示:

= f.search_field :company_name_cont
Run Code Online (Sandbox Code Playgroud)

搜索有效。

你们能帮我吗?

多谢

Kam*_*men 5

您应该使用company_name_in而不是company_name_cont

= f.collection_select :company_name_in, Company.all, :id, :name, {}, {:multiple => true}

更多信息可以在 ransack 的 wiki 中找到:https://github.com/activerecord-hackery/ransack/wiki/Basic-Searching#in