Hi Cass, I think this is a bug in acts_as_ferret. On line 163 in class_methods.rb the limit variable is used but hasn't been initialised:
http://projects.jkraemer.net/acts_as_ferret/browser/trunk/plugin/acts_as_ferret/lib/class_methods.rb In the mean time, aaf actually has paging support in there and that looks like it should work fine. So instead of using :limit and :offset in your options for find_by_contents, drop all your page number calculations and use :per_page and :page. Aaf will then figure out the limit and offset for you. John. -- http://www.brightbox.co.uk - UK Ruby on Rails Hosting On Wed, 2007-10-03 at 12:52 +0200, Cass Amino wrote: > Hi, > > am using this wonderful plugin acts_as_ferret and according to the > tutorial at http://railsenvy.com/2007/2/19/acts-as- … rial#basic > > I worked it out except the pagination feature. > > If I have 12 records and I give limit to 10, its correctly displaying 10 > records in the first page and is giving the link to the second page too. > But when I go to the next page I find the same 10 records instead of the > next 2 records. Also the result count is showing only 10 instead of 12 > thats the right count. > > > Here's my code: > > Controller: > > def search > @users = User.available_users > @user = User.find(session[:user_id]) > @query = params[:query] || '' > @total, @user_profiles = UserProfile.multi_search(@query, [ WorkProfile, > SchoolProfile ], :page => (params[:page]||1)) > @pages = pages_for(@total) > unless @query.blank? > @results = UserProfile.find_by_contents @query > end > end > > > > model: > > def self.multi_search(q, additional_models = [], options = {}) > return nil if q.nil? or q=="" > default_options = {:limit => 1, :page => 1} > options = default_options.merge options > # get the offset based on what page we're on > options[:offset] = options[:limit] * (options.delete(:page).to_i-1) > # now do the query with our options > results = UserProfile.find_by_contents(q, options) > return [results.total_hits, results] > end _______________________________________________ Ferret-talk mailing list [email protected] http://rubyforge.org/mailman/listinfo/ferret-talk

