0

如何在活动记录中实现“包含功能”?我正在尝试查询包含以下数据的数据库作为示例

品牌:ipad 型号:ipad 3gen 规格:wifi+3g 32 GB 黑色

当用户搜索“ipad black 3gen”时,他应该得到上述记录。

这是我没有用的线索

    @products = Product.where("brand like ? OR generation like ? OR spec_overview like ? ", "%"+params[:query].capitalize+"%", "%"+params[:query].capitalize+"%", "%"+params[:query].capitalize+"%")
4

1 回答 1

1

Sql 不太适合这种类型的查询。您可能可以使用全文索引来做到这一点,但使用像Solr这样的东西会少得多痛苦,而且更准确。如果您决定朝这个方向发展,您可以将 Solr 集成到带有sunspot的 Rails 应用程序中。

于 2012-05-19T01:04:04.527 回答