Replaces old search by new pg_search-based method in debates
This commit is contained in:
@@ -55,10 +55,15 @@ class Debate < ActiveRecord::Base
|
||||
{ title => 'A',
|
||||
author.username => 'B',
|
||||
tag_list.join(' ') => 'B',
|
||||
geozone.try(:name) => 'B',
|
||||
description => 'D'
|
||||
}
|
||||
end
|
||||
|
||||
def self.search(terms)
|
||||
self.pg_search(terms)
|
||||
end
|
||||
|
||||
def description
|
||||
super.try :html_safe
|
||||
end
|
||||
@@ -124,15 +129,6 @@ class Debate < ActiveRecord::Base
|
||||
cached_votes_up)
|
||||
end
|
||||
|
||||
def self.search(terms)
|
||||
return none unless terms.present?
|
||||
|
||||
debate_ids = where("debates.title ILIKE ? OR debates.description ILIKE ?",
|
||||
"%#{terms}%", "%#{terms}%").pluck(:id)
|
||||
tag_ids = tagged_with(terms, wild: true, any: true).pluck(:id)
|
||||
where(id: [debate_ids, tag_ids].flatten.compact)
|
||||
end
|
||||
|
||||
def after_hide
|
||||
self.tags.each{ |t| t.decrement_custom_counter_for('Debate') }
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user