我有一个搜索方法,它结合了使用模糊gem进行模糊搜索的结果和在acts_on_taggable gem中使用的标记进行搜索的结果。
if params[:search]
results = Post.find_by_fuzzy_title(params[:search])
tagged_results = Post.tagged_with("#{params[:search]}")
@posts = (Kaminari.paginate_array(results+tagged_results)).page(params[:page]).per(1)
else
问题是返回的查询包含两个具有重复结果的单独查询的串联。我想做的是确保一个结果只显示一次,即使它包含一个匹配的标题和一个匹配的标签到搜索关键字。
使用ruby标准库
(Array1 + Array2).uniq