Good afternoon all,
I've got a controller running a before filter with an except override. It works fine for all the methods in the controller, save one. I've copied the code for the method in question from another part of my app, just making the changes I need to get it working for this particular area.
Here is an example of the controller code:
class Admin::DealsController < ApplicationController
before_filter :populate, :except => [:index, :create, :new, :search]
# GET /deals
def index
@deals = Deal.paginate(:page => params[:page], :per_page => PAGESIZE, :order => 'start_time DESC')
@page_subtitle = "Deals"
end
def search
@searchString = params[:search_string]
@deals = Deal.paginate(:page => params[:page], :per_page => PAGESIZE, :conditions => "subject LIKE '%#{@searchString}%'")
@page_subtitle = "Deal Search Results"
render 'index'
end
protected
def populate
@deal = Deal.find(params[:id])
end
end
And here is the route in my routes.rb file for the method in question:
admin.search_deal 'deals/search', :controller => 'deals', :action => 'search', :method => 'get'
Now, when I attempt to visit this URL:
/admin/deals/search?search_string=test&commit=Search
It generates the following error message:
Couldn't find Deal with ID=search
This code works on several other controllers, and I've been beating my head against the wall all day trying to see what I'm doing wrong. I would appreciate any help, thank you.