Activeadmin: Error "La colección no es un alcance paginado" al agregar un filtro_previo

Creado en 6 abr. 2012  ·  3Comentarios  ·  Fuente: activeadmin/activeadmin

Oigan todos,

Estoy tratando de agregar un before_filter a la acción de índice para poder establecer la variable de instancia en before_filter y, con suerte, cuando se llame a la acción de índice, verificará si la var ya está configurada. Y luego, si es así, use eso en lugar de los valores predeterminados de activeadmin:

ActiveAdmin.register Account do
//... (code)

controller do
  before_filter :checkviews, :only => :index

  def checkviews
    if params[:q] && params[:q][:ancestry_eq]
      <strong i="7">@accounts</strong> = Account.ancestry_scoper(Account.find_by_id(params[:q][:ancestry_eq]))
    end
  end
end

El problema es que recibo este mensaje de error:

Collection is not a paginated scope. Set collection.page(params[:page]).per(10) before calling :paginated_collection.

Comentario más útil

Ciertos modelos pueden tener nombres muy parecidos a lo que parecen ser palabras reservadas, por ejemplo, núcleo o página.
Estos modelos también tienden a desencadenar este problema. Probablemente, se encontró con este problema a través de una búsqueda en Google.

Consulte https://github.com/gregbell/active_admin/issues/959 para ver un ejemplo.

Todos 3 comentarios

Si está configurando la variable de colección de instancias manualmente, deberá paginarla manualmente, como se indica en el error. ActiveAdmin utiliza ayudantes de paginación en la página de índice.

Ciertos modelos pueden tener nombres muy parecidos a lo que parecen ser palabras reservadas, por ejemplo, núcleo o página.
Estos modelos también tienden a desencadenar este problema. Probablemente, se encontró con este problema a través de una búsqueda en Google.

Consulte https://github.com/gregbell/active_admin/issues/959 para ver un ejemplo.

¿Fue útil esta página
0 / 5 - 0 calificaciones