0

我希望用户能够使用此功能搜索我的数据库:

def self.search(query)
  new_query = (query.to_d * 100).to_i
  where("price_in_cents LIKE ?", new_query)
end

问题是所有 myprices都存储在数据库中integers,因此如果有人搜索“10.99”,他实际上应该搜索“1099”。

但是,上面的功能不起作用,我想知道我做错了什么。

谢谢你的帮助。

4

2 回答 2

2

为什么用“like”来比较数字?您应该使用“=”或“>=”等。

def self.search(query)
  new_query = (query.to_d * 100).to_i
  where("price_in_cents = ?", new_query)
end
于 2013-05-14T18:00:56.747 回答
0

好的,我最终使用了这个:

def self.search(query)
  string = query.to_s.gsub('.','')
  where("amount_in_cents LIKE ?", "%#{string}%")
end

感谢@grotori 让我走上正轨!

于 2013-05-14T18:44:29.567 回答