2012-02-11 2 views
0

私はactive_admin宝石を使用しています。meta_search宝石が必要なので、私は管理ページの外で検索機能を提供したいと思います。 Model.searchメソッドに文字列を指定すると、未定義のメソッドエラーが発生します。 meta_searchドキュメントによると、これは私がする必要があり、すべてのactive_admin検索が完璧に機能します。何か不足していますか?未定義のメソッドstringify! meta_searchとactive_admin宝石を使用しているときのエラー

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方法は、それらのハッシュを期待キーは、関連する値を検索するフィールド(およびその方法)を指示します。しかし、あなたの場合、params[:q]には文字列("foo")が含まれています。

[meta_searchのREADME]の「はじめに」のセクションでは、どのようなパラメータが必要なのかがわかります。たとえば、イベントの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 
関連する問題