Salut à tous,
J'essaie d'ajouter un before_filter à l'action d'index afin que je puisse définir la variable d'instance dans before_filter et, espérons-le, lorsque l'action d'index sera appelée, elle vérifiera si la var est déjà définie. Et puis, si c'est le cas, utilisez-le plutôt que les valeurs par défaut d'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
Le problème est que j'obtiens ce message d'erreur :
Collection is not a paginated scope. Set collection.page(params[:page]).per(10) before calling :paginated_collection.
Si vous définissez la variable de collection d'instances manuellement, vous devrez la paginer manuellement, comme indiqué dans l'erreur. ActiveAdmin utilise des assistants de pagination sur la page d'index.
Ou vous pouvez utiliser des étendues
https://github.com/gregbell/active_admin/wiki/Scoped-index-resource
Ex : https://github.com/gregbell/active_admin/wiki/Enforce-CanCan-constraints
Certains modèles peuvent être nommés très près de ce qui semble être des mots réservés, par exemple core ou page.
Ces modèles ont également tendance à déclencher ce problème. Vous êtes probablement tombé sur ce problème via une recherche Google.
Voir https://github.com/gregbell/active_admin/issues/959 pour un exemple.
Commentaire le plus utile
Certains modèles peuvent être nommés très près de ce qui semble être des mots réservés, par exemple core ou page.
Ces modèles ont également tendance à déclencher ce problème. Vous êtes probablement tombé sur ce problème via une recherche Google.
Voir https://github.com/gregbell/active_admin/issues/959 pour un exemple.