El principal problema con will_paginate, es que no es muy eficiente, y menos si tu consulta implica hacer "includes" o "joins" con otras tablas mientras paginas. Lo que te propuse, es re-declarar la función FIND y personalizarla a tus necesidades, claro que si es un proyecto simple puedes usar inicialmente will_paginate, pero ten en mente lo que ya te comente.
Un ejemplo de esto es el plugin
http://cardboardrocket.com/pages/paginating_find, aunque yo no te recomiendo usar ningun plugin, seria bueno que revises su source.
Es simple re-declarar la funcion FIND de Active Record, solo revisa el codigo de will_paginate y paginating_find, ambas son una re-declaracion de find.