我第一次使用 will_paginate。我最初的实现效果很好。就像是:
@products = Product.paginate(:page => params[:page], :per_page => 10)
在 Product 控制器中,这会产生我所期望的结果,并且我可以很好地浏览产品列表。我现在要做的是只显示包含“玻璃”一词的产品,并且不知道如何完成它。有任何想法吗?
我第一次使用 will_paginate。我最初的实现效果很好。就像是:
@products = Product.paginate(:page => params[:page], :per_page => 10)
在 Product 控制器中,这会产生我所期望的结果,并且我可以很好地浏览产品列表。我现在要做的是只显示包含“玻璃”一词的产品,并且不知道如何完成它。有任何想法吗?
使用这样的where
子句(假设@product.name
应该包含“玻璃”):
@products = Product.where('name LIKE ?', '%glass%').paginate(...)
不要忘记paginate
我为清楚起见删除的论点。
如果您只想从一个特定列中搜索单词“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提供全文搜索。