В настоящее время у меня есть базовый поиск, который позволит мне ввести слово, и он вернет все записи, подобные этому поиску. Это выглядит следующим образом:
application.html.erb
<%= form_tag games_path, :method => 'get' do %>
<%= hidden_field_tag :direction, params[:direction] %>
<%= hidden_field_tag :sort, params[:sort] %>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag t('.searchb'), :game_name => nil %>
<% end %>
контроллер и модель
@games = Game.search(params[:search])
def self.search(search)
search = search.to_s.strip.split
search.inject(scoped) do |combined_scope, search|
combined_scope.where(['game_name LIKE ? OR genre LIKE ? OR console LIKE ?', "%#{search}%", "%#{search}%", "%#{search}%"])
end
end
Что я сейчас хочу сделать, так это возможность вводить несколько слов в строку поиска и возвращать все связанные записи с этими словами, а не любую запись, содержащую их все.
например. Если я наберу бой, действие
Я хочу, чтобы он вернул все файтинги и все экшн-игры.
Как бы я поступил в реализации этого?
Модель:
EDIT