Act_as_ferret multi_search

Hi everyone,

I’m trying to use act_as_ferret multi_search with paginating_links
plugin but I’m getting a undefined method for multi_search which is a
act_as_ferret method that I’ve been using a lot in my app. I just
can’t see what I’m doing wrong and I’m sure it is just a little
detail.

Here is my code:

############# This is my class method

def paginating_ferret_multi_search(models, options)
count = multi_search(options[:q], {:limit => :all, :lazy
=> true}, models).total_hits

   PagingEnumerator.new(options[:page_size], count, false,

options[:current], 1) do |page|
offset = (options[:current].to_i - 1) *
options[:page_size]
limit = options[:page_size]
multi_search(models, options[:q], {:offset =>
offset, :limit => limit})
end
end

########### This is how I’m calling it in my controller:

def search
@title = “aykall - search”
if params[:q]
query = sanitize(params[:q])
begin
@users = User.paginating_ferret_multi_search([Spec, Faq],
{:q => query, :page_size => 10, :current => params[:p]})
@users = @users.sort_by { |user| user.spec.last_name }
rescue Ferret::QueryParser::QueryParseException
flash[:notice] = “Invalid character in search”
end
end
end

######## the error I’m getting is: undefined method `multi_search’ for
User:Class

########## when I use self. on my classmethod i get a undefined method
`paginating_ferret_multi_search’ for User:Class

def self.paginating_ferret_multi_search(models, options)
count = self.multi_search(options[:q], {:limit => :all, :lazy =>
true}, models).total_hits

   PagingEnumerator.new(options[:page_size], count, false,

options[:current], 1) do |page|
offset = (options[:current].to_i - 1) * options[:page_size]
limit = options[:page_size]
self.multi_search(models, options[:q], {:offset =>
offset, :limit => limit})
end
end

I don’t know what else to try…

Hope some one can help me around here…

Thanks,
Thiago G.

Have you had any luck figuring this one out? I’m having the same
problem.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs