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.
Wenn Sie die Instanzsammlungsvariable manuell festlegen, müssen Sie sie wie im Fehler angegeben manuell paginieren. ActiveAdmin verwendet Paginierungshelfer auf der Indexseite.
Oder Sie können Bereiche verwenden
https://github.com/gregbell/active_admin/wiki/Scoped-index-resource
Beispiel: https://github.com/gregbell/active_admin/wiki/Enforce-CanCan-constraints
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 .
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 .