【发布时间】:2009-09-17 04:57:06
【问题描述】:
我成功安装并设置了 searchlogic 以进行基本(关键字)搜索。我有以下问题:
@search = Proposal.search(params[:search])
@proposals = @search.all
如果我输入诸如“red”之类的关键字,上面的代码可以正常工作。它会用红色关键字显示所有内容。或者,如果我输入“green”,它会显示所有以绿色为关键字的内容。但是,当我在搜索框中键入“red green”时,它只会显示关键字既是红色又是绿色的情况(而不会显示它们可能只有两个关键字之一的情况)。是的,我正在使用keywords_like_any。我可以通过调试看到一般问题是什么,keywords_like_any: green red。下面的代码按我的意愿工作(显示红色或绿色的任何实例)。
@search2 = Proposal.keywords_like_any("red", "green")
@test = @search2.all
我相信解决这个问题我需要做的是将第一个代码转为将 params[:search] 视为数组?我尝试做 params[:string].to_s.split (如 railscast 所示)但它不起作用。
【问题讨论】:
-
params[:search]是什么类?
-
不确定我是否理解您的问题。虽然当我调试参数时我得到这个: --- !map:HashWithIndifferentAccess commit: Submitauthentity_token: yfYORg04RDMlEgjr/4004PRTaJ2TJbV0z6Feq+OYXgw= action: index controller: users search: !map:HashWithIndifferentAccess keywords_like_any: asdf category_id_equals: "" 另外,代码原帖中提到的是在我的用户控制器中。如果有帮助,我可以粘贴我的代码,但它非常标准。谢谢
标签: ruby-on-rails ruby rubygems