tagged_with or_where上的act-as-taggable-acts?

时间:2011-06-07 22:26:01

标签: ruby-on-rails-3 acts-as-taggable-on

我正在尝试将OR WHERE查询为一个act-as-taggable-on查询,就像这样......

Business.tagged_with(params[:query], :any => true)

但我也想同时在这样的地方演出......

Business.tagged_with(params[:query], :any => true).or_where('name LIKE ?', "%#{params[:query]}%")

这显然不起作用,因为没有or_where方法,但有人知道如何正确执行此操作吗?

简而言之,我正在尝试找到任何标签或商家名称的匹配。谢谢。

1 个答案:

答案 0 :(得分:3)

您可以使用|来一起OR两个查询像这样的运算符:

Business.tagged_with(params[:query], :any => true) | Business.where('name LIKE ?', "%#{params[:query]}%")

请注意,这会急切加载结果,因此您无法在此之后应用任何其他条件,例如订购。它将返回一个包含所有匹配结果的数组,不包括重复项。