2017-07-26 1 views
1

Je suis à la recherche d'un moyen de configurer une ressource ActiveAdmin spécifique, afin que toutes ses actions se déroulent sans mise en page, tandis que les autres ressources conservent la mise en page par défaut. (Les actions pour cette seule ressource sont rendus dans les boîtes de dialogue AJAX, donc je ne veux pas la mise en page, juste le contenu principal.)Désactiver la mise en page pour une ressource spécifique dans ActiveAdmin

Cela ne fonctionne pas:

controller do 
    layout nil 
end 

J'utilise 1.0.0. Y a-t-il un moyen de faire cela?

Répondre

0

Je ne crois pas que rien ne marchera ici. Vous voudrez utiliser false. Comme dans:

layout false 
+0

cela fait la même chose que 'layout nil' –

0

selon this guide, vous pouvez également dire Rails rendre sans mise en page du tout:

controller do 
    render layout: false 
end 
+0

cela déclenche une erreur NoMethodError au démarrage:' méthode non définie 'empty?' pour nil: NilClass' à 'gems/actionview-5.0.2/lib/action_view/lookup_context.rb: 212: dans 'normalize_name'' –

+0

cela peut probablement aider https://github.com/rails/rails/issues/11662 # emissionecomment-44742719 – widjajayd

0

Je pense que les défaites dans le but d'utiliser ActiveAdmin, dont la principale fonction est de générer Vues HTML layout false ne fonctionnera pas car ActievAdmin fournit sa propre couche de rendu au-dessus de Rails ActionView. Ce que vous pouvez faire est d'utiliser l'API ActiveAdmin et Rails en combinaison, comme indiqué dans Charlie Gleason's popular blog.

+0

Je veux les vues, je ne veux tout simplement pas la mise en page. Je voudrais utiliser le formulaire généré dans une boîte de dialogue. –

+0

Je considérerais toujours cela (avec Formtastic?) En dehors de AA. AA utilise Arbre (ActiveAdmin :: Views :: Pages :: Base et Pages :: Layout), et non Rails ActionView pour la mise en page. Peut-être que le plugin [CustomLayout] (https://github.com/bys-control/activeadmin_custom_layout) aidera, mais je ne l'ai pas utilisé. –