Я пытаюсь выяснить, как искать несколько моделей с помощью Ransack. Цель состоит в том, чтобы иметь форму поиска в моем общем заголовке. Я использую комбинацию их документации, старые рельсы-литые, SO-вопросы и код, который мне поделил друг. Сейчас я думаю, что это работает, хотя я не уверен, потому что не могу показать результаты на моей индексной странице.Поиск нескольких моделей с Ransack Rails 4
Во-первых, я создал поисковую контроллер:
class SearchController < ApplicationController
def index
q = params[:q]
@items = Item.search(name_cont: q).result
@booths = Booth.search(name_cont: q).result
@users = User.search(name_cont: q).result
end
end
Далее я ставлю этот код в заголовок частичного (мнения/макеты/_header.html.erb):
<%= form_tag search_path, method: :get do %>
<%= text_field_tag :q, nil %>
<% end %>
Я добавил маршрут:
get "search" => "search#index"
Мой index.html.erb для контроллера поиска пуст, и я подозреваю, что это проблема, но я не конечно, что туда поместить. Когда я пытаюсь что-то вроде:
<%= @items %>
<%= @users %>
<%= @booths %>
Это выход я получаю, когда я выполнить поиск:
#<Item::ActiveRecord_Relation:0x007fee61a1ba10> #<User::ActiveRecord_Relation:0x007fee61a32d28> #<Booth::ActiveRecord_Relation:0x007fee61a20790>
Может кто-то пожалуйста, руководство меня на то, что может быть решение? Я не уверен, что это проблема с представлением индекса, проблема маршрутизации или что-то еще. Во всех учебниках поле поиска и результаты представлены только для одной модели, поэтому я немного запутался в том, как это сделать для нескольких моделей.
Спасибо!
Спасибо за помощь. Я был близок, но не достаточно близко. – Kelly