Paginating a search

hi!

I have been trying to use will_paginate with acts_as_ferret and it works
correctly in the first page, but nowhere else. When I try to see the
second or any other page I get a nil object error while evaluating
nil.each.

this is in the controller:

def search_results
if request.post?
@profiles = Profile.find_with_ferret params[:query], :page
=>params[:page], :per_page => 9

end

and in my view search_results.rhtml I have this:

<%= render(:partial => “shared/sidebar”) %>

<% for profile in @profiles %> <%= link_to profile.name, :controller=>'dogprofile', :action =>'show', :id=>profile %> <%end%> <%= will_paginate @profiles %>

As I said the first results page is ok, somehow It deletes the result
collection when tries to access to another page.

any idea please?

thanks!

def search_results
if request.post?

You’re requiring a POST for your search results; the pagination links
are just normal hyperlinks (i.e. GET requests). Either change your
method to allow GET or hack will_paginate to render links that
generate a POST request (not recommended IMHO)

Jeff Emminger wrote:

def search_results
if request.post?

You’re requiring a POST for your search results; the pagination links
are just normal hyperlinks (i.e. GET requests). Either change your
method to allow GET or hack will_paginate to render links that
generate a POST request (not recommended IMHO)

Thanks Jeff!

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