我正在使用 active_admin gem,并且由于它需要 meta_search gem,所以我想在管理页面之外提供搜索功能。当我向 Model.search 方法提供字符串时,出现未定义的方法错误。根据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
The Event#search
方法需要一个哈希值,其中的键告诉它要在哪些字段中搜索(以及如何)关联值。但就你而言params[:q]
仅包含一个字符串("foo"
).
[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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)