6

一起使用构面我想在标准搜索的正面使用构面。有没有办法让搜索结果本身“使用pg_search进行搜索”?有没有办法与pg_search gem

据我所知,pg_search_scope是互斥的(是否有解决方法?)。 谢谢!

例子:

1)“测试”一词

2)点击链接以获得从以前的结果只有文章,也于6月份公布

回答

8

我是原作者博客搜索和pg_search的维护者。

A pg_search_scope与任何其他Active Record作用域一样,因此您可以将它们链接起来。

因此,让我们假设你有一个模型Blog与命名search_titlepg_search_scope,并命名为in_month另一范围,它有两个参数,一个是月数和年数。事情是这样的:

class Blog < ActiveRecord::Base 
    include PgSearch 
    pg_search_scope :search_title, :against => :title 
    scope :in_month, lambda { |month_number, year_number| 
    where(:month => month_number, :year => year_number) 
    } 
end 

然后,你可以这样调用:

Blog.search_title("broccoli").in_month(6, 2011) 

相反还应该工作:

Blog.in_month(6, 2011).search_title("broccoli") 

和分页解决方案,如雷也可以叫上结束。