スコープを使用してモデルを検索しています。これは、検索パラメータ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
Rails3を使用しています。