Activeadmin: Fehler "Sammlung ist kein paginierter Bereich" beim Hinzufügen eines before_filter

Erstellt am 6. Apr. 2012  ·  3Kommentare  ·  Quelle: activeadmin/activeadmin

Hallo zusammen,

Ich versuche, der Indexaktion einen before_filter hinzuzufügen, damit ich die Instanzvariable im before_filter setzen kann und hoffentlich, wenn die Indexaktion aufgerufen wird, überprüft, ob die var bereits gesetzt ist. Und wenn ja, verwenden Sie das anstelle der activeadmin-Standardeinstellungen:

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

Das Problem ist, dass ich diese Fehlermeldung bekomme:

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

Hilfreichster Kommentar

Bestimmte Modelle können sehr nahe an scheinbar reservierten Wörtern wie Kern oder Seite benannt werden.
Diese Modelle neigen dazu, dieses Problem ebenfalls auszulösen. Wahrscheinlich sind Sie über eine Google-Suche auf dieses Problem gestoßen.

Ein Beispiel finden Sie unter https://github.com/gregbell/active_admin/issues/959 .

Alle 3 Kommentare

Wenn Sie die Instanzsammlungsvariable manuell festlegen, müssen Sie sie wie im Fehler angegeben manuell paginieren. ActiveAdmin verwendet Paginierungshelfer auf der Indexseite.

Bestimmte Modelle können sehr nahe an scheinbar reservierten Wörtern wie Kern oder Seite benannt werden.
Diese Modelle neigen dazu, dieses Problem ebenfalls auszulösen. Wahrscheinlich sind Sie über eine Google-Suche auf dieses Problem gestoßen.

Ein Beispiel finden Sie unter https://github.com/gregbell/active_admin/issues/959 .

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen