2013-01-11 34 views
8

Ben benim stories.rb modeline pg_search kapsamı aşağıdaki gibidir:sonuçları

pg_search_scope :with_text, 
        :against => :title, 
        :using => { :tsearch => { :dictionary => "english" }}, 
        :associated_against => { :posts => :contents } 

Ben herhangi bir sıralama yok sayarak sonuçları döndürmek için sorgu istiyorum (Bugüne hikaye hakkında sadece bakım en son güncellenen sipariş edildi DESC). Bunun, bunu görüntüleyen kişilerin çoğu için kolay bir soru olduğunu biliyorum, ancak pg_search'teki sıralamayı nasıl kapatabilirim?

cevap

22

Ben pg_search'in yazarıyım.

Sen Mükemmel ActiveRecord::QueryMethods#reorder

MyModel.with_text("foo").reorder("updated_at DESC") 
+3

kullanan böyle bir şey, yapabilirdi. Teşekkürler! BTW, .reorder.order ("updated_at DESC") 'e ihtiyaç duymadı. Sadece gerekli '.reorder ("updated_at DESC") ' –

+0

Serin! Cevabımı güncelledi. – nertzy

+0

Teşekkürler, bu benim için de çok yararlı oldu. Bunun yerine bir broadcast_at alanı kullanmanın herhangi bir yolu var mı? Soru burada: http://stackoverflow.com/questions/21604862/pg-search-how-to-order-by-published-at-field-in-multisearchable – Ben