2011-04-08 103 views
4

我在rails 3应用程序中使用了Ernie Miller's Metasearch,并且遇到了问题。Rails中的唯一搜索结果

在我的模型

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中?

回答

1

你想:

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

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

这个工作对me..and更重要的是我现在明白它是如何worked.Thank了很多的帮助球员,这是我逼疯。 – DomWolfe 2011-04-08 16:19:19

+0

没问题@DomWolfe,祝你好运! – 2011-04-08 16:21:37

2
@search=Prospect.search(params[:search]).select('DISTINCT step_id') 
2
@search = Prospect.search(params[:search]) 
@prospects = @search.relation.uniq