1

我有一个搜索框来搜索产品。每个产品都有一个标题,并带有多个标签。

我希望能够按标题或标签搜索产品。换句话说,如果我有一个名为“绿茶”的产品和另一个标记为“绿色、红色、蓝色”的产品,并且我在搜索框中输入“绿色”,我希望这两种产品都出现在搜索结果中。

我正在使用 Rails 3,acts_as_taggable_on,Ruby 1.9.2。

4

1 回答 1

8

在您的控制器中,显示搜索结果的操作可能如下所示(其中 :q 是搜索框中的查询字符串):

def results
  @products = Product.where("title LIKE ?", "%#{params[:q]}%") \
    | Product.tagged_with("%#{params[:q]}%")
end
于 2011-02-23T12:16:10.833 回答