1

我第一次使用 will_paginate。我最初的实现效果很好。就像是:

@products = Product.paginate(:page => params[:page], :per_page => 10)

在 Product 控制器中,这会产生我所期望的结果,并且我可以很好地浏览产品列表。我现在要做的是只显示包含“玻璃”一词的产品,并且不知道如何完成它。有任何想法吗?

4

2 回答 2

2

使用这样的where子句(假设@product.name应该包含“玻璃”):

@products = Product.where('name LIKE ?', '%glass%').paginate(...)

不要忘记paginate我为清楚起见删除的论点。

于 2013-06-06T04:54:38.640 回答
0

如果您只想从一个特定列中搜索单词“glass”,您可以将其用作,

 Product.where("'column_name' like ?","% glass %").paginate(:page => params[:page], :per_page => 10)

如果你想从整个记录中搜索它,那么你可以使用全文搜索。查看:http ://railscasts.com/episodes/370-ransack?view=asciicast 和https://github.com/ernie/ransack

Gem Ransack提供全文搜索。

于 2013-06-06T05:13:46.487 回答