"respond_with" not working Rails 3

As no one can help me with my UJS ajax problem I am trying
“respond_with”, but I am getting this error:-
RuntimeError (In order to use respond_with, first you need to declare
the formats your controller responds to in the class level):

Yet I have declared it in my controller:-

class HomepagesController < ApplicationController
respond_to :html, :xml, :js

def index
@homepages = Homepage.search(params[:search])

Anyone has any ideas why.

A certain Javix suggested:-
I think, may be I’m wrong, - the problem is how you defined it in
your routes.rb file. If you defined homepages as

resources :homepages

Rails will try to match that resource to any non-XHR (not Ajax
request) for action ‘index’; If it’s true, I think you will have to
redefine resources for homepages.

I have not heard of this can anyone shed some light for me please.