繁体   English   中英

在 Rails 上使用 Ransack gem 时,如何使下拉选择搜索字段起作用?

[英]How to make dropdown select search field to work, when using the Ransack gem on Rails?

我在 Ruby on Rails 4.2.2 上使用 Ransack gem。

:name 字段搜索有效,但我无法让下拉选择字段起作用。 当我从下拉菜单中选择一个项目并按“搜索”时,我没有得到任何搜索结果。 这是我在终端上得到的:

Started GET "/companies?utf8=%E2%9C%93&q%5Bname_cont%5D=&..." for ...
Processing by CompaniesController#index as HTML
Parameters: {"utf8"=>"✓", "q"=>{"name_cont"=>"", "category_eq"=>"7", "location_eq"=>""}, "commit"=>"Search"}
Company Load (0.3ms)  SELECT "companies".* FROM "companies"
CACHE (0.0ms)  SELECT "companies".* FROM "companies"
Company Load (0.1ms)  SELECT "companies".* FROM "companies" WHERE "companies"."category" = '7'
Rendered companies/index.html.erb within layouts/application
Completed 200 OK in 217ms 

这是我的公司_controller.rb

class CompaniesController < ApplicationController
  def index
    @search = Company.search(params[:q])
    @companies = @search.result
  end
end

这是公司的 index.html.erb :

    <%= search_form_for @search do |f| %> 

       <div class="field">
         <%= f.label :name_cont, 'Company Name' %>
         <%= f.text_field :name_cont, class: 'form-control' %>
       </div>

       <div class="field">
         <%= f.label :category_eq, 'Category' %>
         <%= f.select :category_eq, options_from_collection_for_select(Company.all, "id", "category", @search.category_eq) %>
       </div>

       <div class="field">
         <%= f.label :location_eq, 'Location' %>
         <%= f.select :location_eq, options_from_collection_for_select(Company.all, "id", "location", @search.location_eq) %>
       </div>

      <div>  
        <%= f.submit "Search" %>
      </div>

  <% end %>

  <% @companies.each do |company| %>
  <tr>
    <td><%= company.name %></td>
    <td><%= company.category %></td>
    <td><%= company.location %></td>
  </tr>
<% end %>

我不明白为什么 :name 有效,但是 :category 和 :location 在搜索中不显示任何内容?

<%= f.select :category_eq, options_for_select(Company.all, "id", "category", @search.category_eq) %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM