Custom pagination

and in the view search_ci.rhtml,

<%= link_to('previous page', {:params => params.merge('page' =>
@software_ci_pages.current.previous)}) if
@software_ci_pages.current.previous %>
<%= ' | ' if @software_ci_pages.current.previous and
@software_ci_pages.current.next %>
<%= link_to('next page', {:params => params.merge('page' =>
@software_ci_pages.current.next)}) if @software_ci_pages.current.next %>

The first page is displayed. But when we click on the 'next page' an
error occurs... "can't convert nil into String"

I printed the value in 'page' variable. It is 1 always.

I rather suspect that you want link_to('next page', params.merge('page' => @software_ci_pages.current.next))
Looking at what rails thinks the params hash is should guide you on your way

Fred