Error con will_paginate

Ante todo, lo siento si existe algún otro post con el mismo error ya
respondido,
pero mi amigo google ya no me trata como antaño.

Tal y como vi en un railcast, me puse a incluir las funciones de
paginación del plugin will_paginate en mi proyecto.
Usando un text_input (search) en un formulario de la vista,
para filtrar por título.

Bien, en la capa de control, hago la llamada, tal que:

customer_controller.rb

@customers = paginate :per_page => 5, :page => page,
:conditions => [‘name like ?’,"%#{search}%"],
:order => ‘title’

y en la vista, en un list.rhtml, invoco el paginador:

list.rhtml

<%= will_paginate @customers %>

Tan sencillo como eso.

Pues bien, me escupe un error tal que:

undefined method `page_count’ for []:Array

Cierto, Array no lo tiene :stuck_out_tongue:
El problema es que, aunque el método paginate devuelve un
WillPaginate::Collection, no castea bien al llevarlo a la vista, y lo
trata como un objeto Array.

Si tras invocar a “paginate” compruebo el tipo de @customers
efectivamente, es un WillPaginate::Collection.
un @customers.class es un WillPaginate::Collection.
incluso llevo a la vista este dato (en el controlador @tipo =
@customers.class,

<%= @tipo %>

y obviamente renderiza “WillPaginate::Collection”

Haciendo un debug en index.rhtml (netbeans 6),
veo en el controlador que es un WillPaginate::Collection,
y en el index.rhtml, que @customers es un Array.

Sinceramente, yo me he rendido.

¿A alguien le ha ocurrido o se le ocurre algo?

Gracias.

Decir que me dejé una cosita mal:

@customers = Customer.paginate :per_page => 5, :page => page,
:conditions => [‘name like ?’,"%#{search}%"],
:order => ‘name’

Que no lo puse bien en el post, vamos, no que fuese ese el error :stuck_out_tongue:

Que sigo igual :frowning:

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