У меня есть следующие настройки модели
class Category < ActiveRecord::Base
has_ancestry :cache_depth => true, :depth_cache_column => :depth
has_many :watches, :dependent => :destroy
has_many :products, :through => :watches
end
class Watch < ActiveRecord::Base
belongs_to :category
has_many :products
end
class Product < ActiveRecord::Base
belongs_to :watch, :counter_cache => true
belongs_to :category
end
Мне нужно найти товары по названию категории. Категория имеет 2 уровня глубины (древовидная структура). 1 - уровень - это марка, 2 - серия. Сейчас я строю этот тип поискового запроса с помощью meta_search
gem
@products = (Product.search :watch_category_name_contains => params[:search]).all.paginate(:page => params[:page])
Это работает и возвращает все продукты с serie_name. Но таблица просмотра всегда содержит только category_id категории 2 уровня (серия), и я должен иметь возможность искать товары по маркам (категория 1 уровня). Как я могу построить этот тип запроса? Спасибо!