Я делаю поиск по модели, используя область.Доступ к нему осуществляется через форму поиска с параметром поиска q.В настоящее время у меня есть код ниже, который отлично работает для поиска по тегам, связанным с моделью.Но я также хотел бы найти поле заголовка.Если я добавлю к этой области, то я получу все результаты, где есть тег и заголовок, соответствующий поисковому запросу.
Однако мне нужно вернуть результаты, которые соответствуют company_id и category_id, и / или совпадают с заголовком или тегом.Я застрял с тем, как добавить предложение OR в эту область.
def self.get_all_products(company, category = nil, subcategory = nil, q = nil)
scope = scoped{}
scope = scope.where "company_id = ?", company
scope = scope.where "category_id = ?", category unless category.blank?
scope = scope.tagged_with(q) unless q.blank?
scope
end
Я использую Rails 3.