Ransack searchbox в макете приложения

У меня есть приложение Rails 4 с формой поиска на странице индекса, которая ищет записи с помощью Ransack. Это все отлично работает. Однако я хочу переместить поле поиска в заголовок приложения и, следовательно, переместить его в макет приложения.

Но это, конечно, приводит к ошибке, потому что переменная экземпляра поиска Ransack доступна только на указанной странице индекса. Как я могу создать это?

1 ответ

Если ваш поиск всегда выполняется по одной и той же таблице, вы можете использовать before_filter в контроллере приложений. Например, если поиск всегда против users стол тогда application_controller.rb мог бы иметь:

before_filter :build_search

private
  def build_search
    @search = User.search(params[:q])
  end

А также users_controller.rb мог бы иметь:

def index
  @users = @search.result
end
Другие вопросы по тегам