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") %>
<td width="462" valign="top" >
<% for profile in @profiles %>
<td width ="146 px" height="99 px" align = "center">
<%= link_to profile.name, :controller=>'dogprofile', :action =>'show',
:id=>profile %> </td>
<%end%>
<%= will_paginate @profiles %>
</td>

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!