【问题标题】:Unique search results in RailsRails 中的唯一搜索结果
【发布时间】:2011-08-01 14:27:02
【问题描述】:

我在 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?

【问题讨论】:

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


    【解决方案1】:
    @search = Prospect.search(params[:search])
    @prospects = @search.relation.uniq
    

    【讨论】:

      【解决方案2】:

      你想要:

      @search = Prospect.search(params[:search])
      
      @search.relation.select("DISTINCT(step_id), prospects.*")
      

      【讨论】:

      • 这对我有用..更重要的是我现在明白了它是如何工作的。非常感谢大家的帮助,这让我发疯了。
      【解决方案3】:
      @search=Prospect.search(params[:search]).select('DISTINCT step_id')
      

      【讨论】:

        猜你喜欢
        • 2016-12-09
        • 2020-03-01
        • 2021-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多