Форма поиска с act_as_taggable_on (Rails 3) - PullRequest
1 голос
/ 23 февраля 2011

У меня есть окно поиска для поиска товаров. Каждый продукт имеет заголовок и помечен несколькими тегами.

Я хочу иметь возможность искать товары по названию или тегу. Другими словами, если у меня есть продукт под названием «Зеленый чай» и другой продукт, помеченный как «зеленый, красный, синий», и я ввожу «зеленый» в поле поиска, я хотел бы, чтобы оба продукта появлялись в результатах поиска.

Я использую Rails 3, acts_as_taggable_on, Ruby 1.9.2.

1 Ответ

8 голосов
/ 23 февраля 2011

В вашем контроллере действие, отображающее результаты поиска, может выглядеть примерно так (где: q - строка вашего запроса из поля поиска):

def results
  @products = Product.where("title LIKE ?", "%#{params[:q]}%") \
    | Product.tagged_with("%#{params[:q]}%")
end
...