Fix LIKE clauses in searches to match anywhere in the field
authorIra W. Snyder <devel@irasnyder.com>
Tue, 27 Nov 2007 03:12:53 +0000 (19:12 -0800)
committerIra W. Snyder <devel@irasnyder.com>
Tue, 27 Nov 2007 03:12:53 +0000 (19:12 -0800)
Signed-off-by: Ira W. Snyder <devel@irasnyder.com>
app/controllers/customer_controller.rb
app/controllers/game_controller.rb
app/controllers/video_controller.rb
db/development.sqlite3

index 296f64f..f6ec048 100644 (file)
@@ -56,7 +56,7 @@ class CustomerController < ApplicationController
   def search
     if request.post?
       @query = params[:q]
-      @customers = Customer.find(:all, :conditions => ["name like ?", @query[0]+"%"])
+      @customers = Customer.find(:all, :conditions => ["name like ?", "%#{@query[0]}%"])
       render :action => 'searchresults'
     else
       render :action => 'search'
index c75ce07..626d51a 100644 (file)
@@ -56,7 +56,7 @@ class GameController < ApplicationController
   def search
     if request.post?
       @query = params[:q]
-      @games = Game.find(:all, :conditions => ["title like ?", @query[0]+"%"])
+      @games = Game.find(:all, :conditions => ["title like ?", "%#{@query[0]}%"])
       render :action => 'searchresults'
     else
       render :action => 'search'
index 2451704..34678fc 100644 (file)
@@ -56,7 +56,7 @@ class VideoController < ApplicationController
   def search
     if request.post?
       @query = params[:q]
-      @videos = Video.find(:all, :conditions => ["title like ?", @query[0]+"%"])
+      @videos = Video.find(:all, :conditions => ["title like ?", "%#{query[0]}%"])
       render :action => 'searchresults'
     else
       render :action => 'search'
index 694afec..88be064 100644 (file)
Binary files a/db/development.sqlite3 and b/db/development.sqlite3 differ