无法从搜索结果中删除重复项

时间:2013-06-01 15:56:28

标签: ruby

我有一个搜索方法,可以返回搜索项位于项目名称或项目标签之一中的项目。这是方法:

def self.search(search)
    search.blank? ? [] : list = all(:conditions => ['name LIKE ?', "%#{search.strip}%"]) 
    list_two = Illustration.tagged_with('%#{search.strip}%', :any => true)
    ary = list + list_two
    return ary.uniq
end

我也试过了list & list_two的一些变种而没有运气。

返回的列表有重复项。例如,我有2个项目,一个名为'Test',另一个名为'Test 5'。 “测试5”有一个标签'test'。当我搜索“test”时,生成的数组为['Test', 'Test', 'Test 5']

有人看到这里可能出现的问题吗?感谢。

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

a = ['Test', 'Test', 'Test 5']
p a.uniq!{|i| i.split(" ").first}
# >> ["Test"]