Я делаю поиск по модели, используя прицел. Доступ к нему осуществляется с помощью формы поиска с параметром поиска 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
Я использую Рельсы 3.