2012-02-11 3 views
0

Я использую жемчужину active_admin, и поскольку для этого требуется камень meta_search, я хочу предоставить функцию поиска за пределами страниц администрирования. Я получаю неопределенную ошибку метода, когда я предоставляю строку методу Model.search. Согласно документам meta_search, это все, что мне нужно сделать, и все активные действия active_admin работают безупречно. Я что-то упускаю?Неопределенный метод stringify! ошибка при использовании meta_search и active_admin gems

Gemfile:

gem 'activeadmin' 
    gem "meta_search", '>= 1.1.0.pre' 

Контроллер:

@eventsearch = Event.search(params[:q]) 

Сообщение об ошибке (example.com/?q=foo):

undefined method `stringify_keys!' for "foo":String 

ответ

1

Метод Event#search ожидает Hash, где они ключи указывают, какие поля искать (и как) для соответствующих значений. Но в вашем случае params[:q] просто содержит строку ("foo").

Раздел «Начало работы» в [README] meta_search покажет вам, какие параметры он ожидает. Если, например, вы хотели найти поля событий title, вы сделали бы что-то вроде этого:

# Given a URL like this: http://example.com/?title_contains=foo 
# `params` will look like this: { :title_contains => "foo" } 
# so we give `params` directly to the search method: 

@events = Event.search params 

 Смежные вопросы

  • Нет связанных вопросов^_^