1

製品を検索するための検索ボックスがあります。各製品にはタイトルがあり、複数のタグが付けられています。

タイトルやタグで商品を検索できるようにしたい。つまり、「緑茶」という商品と「緑、赤、青」のタグが付いた別の商品があり、検索ボックスに「緑」と入力した場合、両方の商品を検索結果に表示したいと思います。

Rails 3、acts_as_taggable_on、Ruby1.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 に答える