Sunspot Rails - Может ли пользователь изменить какие поля для поиска? - PullRequest
1 голос
/ 08 октября 2011

Я начал использовать Sunspot для выполнения поиска в своем приложении Rails 3, и у меня возникли сомнения. Есть ли способ, которым я могу позволить пользователю выбирать, в каких полях он / она хочет искать. Например, в моем приложении у нас есть:

class Project < ActiveRecord::Base
    searchable do
      text :name, :content, :keyword
    end
end

А в панели поиска по умолчанию:

<%= form_tag projects_path, :method => :get do %>
  <p>
    <%= text_field_tag :search, params[:search] %>
    <%= submit_tag "Search", :name => nil %>
  </p>
<% end %> 

Могу ли я добавить переключатель или что-то в этом роде, чтобы пользователь мог пометить его, чтобы выполнить поиск по имени, содержанию или ключевому слову? Если да, как я могу это сделать?

Большое спасибо.

1 Ответ

1 голос
/ 09 октября 2011

Посмотрите Railsast на предмет: http://railscasts.com/episodes/278-search-with-sunspot .. в нем Райан позволяет опционально выполнять запрос пользователя по месяцам.

Итак, если месяц был отправлен:

def index
  @search = Article.search do
    fulltext params[:search]
    with(:publish_month, params[:month]) if params[:month].present?
  end
  @articles = @search.results
end
...