太阳黑子轨道,为搜索块添加额外的参数失败

时间:2012-02-06 07:33:09

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 sunspot sunspot-solr

尝试使用Sunspot Gem实现搜索使用Solr.Fulltext搜索工作正常,但添加额外的搜索参数返回零结果。红色所有文档,但没有用,我没有看到我的错误,如果在下面的代码中。有关如何解决此问题的任何建议?我重新编制了现有记录的索引。

ProfilesController#索引

@search = Profile.search do

      fulltext params[:search]

      if params[:search].present?
        fulltext params[:description] do
          highlight :description
        end
      end

      if params[:gender].present?
        with :gender
      end
      paginate(:page => params[:page], :per_page => 2)
    end

    @profiles = @search.results

profiles.rb模型

searchable do
    text :description
    string :gender 
end

我的搜索表单:

= simple_form_for profiles_path, :method => :get  do |f|

  = text_field_tag :search, params[:search]  << this works
  = text_field_tag :gender, params[:gender]  << adding this line returns 0 result

Params性别可以是“男性”或“女性”,没有引号这个param也是由表单提交的。

1 个答案:

答案 0 :(得分:2)

试试这个

if params[:gender].present?
      with :gender,  params[:gender]
  end

并使用选择标记

<%= select_tag 'gender', options_for_select([['Male', 'male'], ['Female', 'female']]), :prompt => 'Select Gender' %>`