我是第一次使用will_paginate。我最初的执行效果很好。类似于:
@products = Product.paginate(:page => params[:page], :per_page => 10)
在产品控制器中,这产生了我所期望的,我可以很好地浏览产品清单。我现在想做的是仅显示包含“玻璃”一词的产品,而无法弄清楚如何完成它。有什么想法吗?
使用这样的where
子句(假设@product.name
应该包含“ glass”):
@products = Product.where('name LIKE ?', '%glass%').paginate(...)
不要忘记paginate
参数,为清楚起见,我将其删除。
如果只想从某一列]中搜索“玻璃”一词,则可以将其用作,
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
宝石Ranack
提供全文搜索。