0

这是我在产品模型中的搜索代码:

def self.search(search)
  if search
    where('lower(name) LIKE ?', "%#{search}%")
  else
    scoped
  end
end

问题是它只搜索名称我如何添加更多搜索项,如描述。

我试图通过这段代码添加它,但它抛出了一个错误:

  def self.search(search)
  if search
    where('lower(name) LIKE ? OR description LIKE ?', "%#{search}%")
  else
    scoped
  end
end

错误是:

错误数量的绑定变量(1 对 2)在:lower(name) LIKE 中?或描述喜欢?

我在控制器中的代码:

@user_products = Product.search params[:search]
4

1 回答 1

1

您错过了另一个用于在查询中组合描述的搜索参数。试试这个

def self.search(search)
  if search
    where('lower(name) LIKE ? OR description LIKE ?', "%#{search}%", "%#{search}%")
  else
    scoped
  end
end
于 2013-07-26T07:54:59.137 回答