我已经构建了一个基本的搜索功能,以便在我的数据库中搜索3个字段。 搜索功能如下:在Rails中搜索,也搜索非连续词
def self.search(search)
if search
@search_out = Array.new
@prod_out = find(:all, :conditions => ['name ILIKE ? or supplier_code ILIKE ? or ppd_code ILIKE ?', "%#{search}%", "%#{search}%", "%#{search}%"])
@prod_out.each do |prod|
prod.quantities.each do |quants|
@search_out << quants
end
end
return @search_out
else
nil
end
end
现在,它的工作都不错,但我想补充一点,可以说,我有我的数据库名称项,其是“杰克和吉尔电影”和“杰克和选项珍妮特电影“ 如果我在搜索字段中写道:”杰克电影“,它会返回我这两个条目。总体而言,能够在搜索字段中搜索单词并接收那些单词在其中不连续的条目。 谢谢!
您可以使用Regexp.escape(搜索)来转义输入。 –
感谢您的输入,我实际上使用PostgreSQL(因此ILIKE而不是LIKE),所以我会尝试寻找regexing在那 – Yarneo