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") 

和分頁解決方案,如雷也可以叫上結束。