Rails中的独特搜索结果

时间:2011-04-08 14:58:23

标签: ruby-on-rails ruby-on-rails-3 search

我在rails 3应用中使用Ernie Miller's Metasearch并遇到了问题。

在我的模型中

class Prospect < ActiveRecord::Base
has_many :steps

在我的控制器中

@search=Prospect.search(params[:search])

在我看来(搜索表格)

 <%= f.date_select :steps_updated_at_greater_than%>

这样可以让我获得自date_select以来已更新步骤的所有前景。我的问题是,如果有多个更新的步骤,我会在@search中获得重复项,当我在视图中格式化搜索结果时,我不想要这样做。

我的问题是从@search删除重复项的最佳方法是什么?或者首先防止将重复项添加到@search?

3 个答案:

答案 0 :(得分:2)

@search=Prospect.search(params[:search]).select('DISTINCT step_id')

答案 1 :(得分:2)

@search = Prospect.search(params[:search])
@prospects = @search.relation.uniq

答案 2 :(得分:1)

你想:

@search = Prospect.search(params[:search])

@search.relation.select("DISTINCT(step_id), prospects.*")