Problema de alcance de paginación Kaminari

En Kaminari, esto funciona:

<%= paginate @posts %>

Pero si hago algo como:

<%= paginate @user.posts %>

yo obtengo

undefined method `current_page' for #<Class:0x58378e0>      

¿Cómo puedo solucionar esto? Escuché que los recursos heredados ayudaron, pero no sé cómo usarlo para corregir este error.

preguntado el 27 de agosto de 11 a las 23:08

1 Respuestas

Porque en la primera versión @posts fue probablemente el resultado de ejecutar algo como

   @posts = Post.page(2).per(50)

Entonces Kaminari devolvió una matriz como un objeto, que paginate espera el método auxiliar.

Cuando usted llama @user.posts directamente, de hecho, solo está cargando una asociación ActiveRecord simple y antigua.

La respuesta corta es que debes dejar que Kaminari genere la variable que de hecho estás usando con el paginate método de ayuda

respondido 02 mar '12, 22:03

Tengo una pregunta de novato, ¿cómo la configuraría para que @posts se filtre por un nombre de usuario? Algo similar a: posts = Post.find (usuario) .page (params [: página]). Per (5) - Jon

nvm, lo arreglé: @posts = @ user_on_page.posts.page (params [: página]). per (5) - Jon

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.