ruby-on-rails - will_paginate - ruby paginate




Paginación de Kaminari y Rails-método indefinido `current_page ' (2)

Busqué y busqué, pero nada resolvió mi problema. Aquí está mi controlador:

def show
    @topic = Topic.find(params[:id])
    @topic.posts = @topic.posts.page(params[:page]).per(2) # 2 for debugging
end

Eso funciona bien, porque la vista del tema se reduce a dos publicaciones. Sin embargo, cuando agrego esto a show.html.erb:

<%= paginate @topic.posts %>

Me han dado este error:

undefined method `current_page' for #<ActiveRecord::Relation:0x69041c9b2d58>

Hace algún tiempo, tuve un pequeño problema con kaminari que resolví usando diferentes nombres de variables para cada acción.

Digamos que en la acción de index llamamos algo así como:

def index
  @topic = Topic.all.page(params[:page])
end

La vista de index funciona bien con <%= paginate @topic %> sin embargo, si desea usar el mismo nombre de variable en cualquier otra acción, se produce un error como ese.

def list
  # don't use @topic again. choose any other variable name here
  @topic_list = Topic.where(...).page(params[:page])
end

Esto funcionó para mí.

Por favor, dale una oportunidad.


Prueba con:

def show
  @topic = Topic.find(params[:id])
  @posts = @topic.posts.page(params[:page]).per(2)
end

Y entonces:

<%= paginate @posts %>






kaminari