检查MetaSearch列

时间:2011-03-23 02:46:43

标签: ruby-on-rails ruby searchlogic meta-search

关于MetaSearch,我想从搜索参数中提取“人”名称。例如,当params [:search]具有以下非空值时:

- title_contains

- author_name_contains

我想提取:

- title

- author name

最终用途是向用户提供额外的反馈,例如:

Results filtered on title and author name

喜欢使用MetaSearch库中的函数来实现这一目标,而不是重新开发param解析。虽然以上示例在Ruby中很简单,但MetaSearch参数语言可以表达。

谢谢

1 个答案:

答案 0 :(得分:1)

如果您真的想从MetaSearch对象中获取这些内容,您可以执行以下操作:

@search.search_attributes.except('meta_sort').select {|k, v| v.present?}
但是,我并不确定你是否正在获得任何东西而不是直接从params中提取这些内容。在任何实际使用中,您可能希望根据谓词更改显示的文本。

你可能想用i18n解决这个问题,而不是:

http://rdoc.info/github/ernie/meta_search/master/file/README.rdoc#Localization