From 3b975e0d77b4e54957372f39599adca5e731fdeb Mon Sep 17 00:00:00 2001 From: Joe Sak Date: Tue, 21 Jun 2011 22:52:21 -0500 Subject: postgreSQL is picky about doing a LIKE query --- app/controllers/admin/blog/posts_controller.rb | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'app/controllers/admin') diff --git a/app/controllers/admin/blog/posts_controller.rb b/app/controllers/admin/blog/posts_controller.rb index 9fdc638..29ffb01 100644 --- a/app/controllers/admin/blog/posts_controller.rb +++ b/app/controllers/admin/blog/posts_controller.rb @@ -12,9 +12,21 @@ class Admin::Blog::PostsController < Admin::BaseController end def tags + op = case ActiveRecord::Base.connection.adapter_name.downcase + when 'postgresql' + 'SIMILAR TO' + else + 'LIKE' + end + wildcard = case ActiveRecord::Base.connection.adapter_name.downcase + when 'postgresql' + '.*' + else + '%' + end @tags = BlogPost.tag_counts_on(:tags).where( - ["tags.name LIKE ?", "%#{params[:term].to_s.downcase}%"] - ).map { |tag| {:id => tag.id, :value => tag.name}} + ["tags.name #{op} ?", "#{wildcard}#{params[:term].to_s.downcase}#{wildcard}"] + ).map { |tag| {:id => tag.id, :value => tag.name}} render :json => @tags.flatten end -- cgit v1.2.3