2015-02-17 13 views
11

Ho un paio di modelli nel mio Ruby on Rails applicazione come "Piano", "Tester", "Modulo", ecc Utilizzando activeadmin gemma, mi piacerebbe avere una pagina per ciascuna di queste entità e porre ogni sotto un paio di menu diversi. Quindi il mio codice è simile al seguente:Come impostare una priorità del menu principale in ActiveAdmin?

ActiveAdmin.register Plan do 
    menu parent: 'Planning', priority: 1 

ActiveAdmin.register Tester do 
    menu parent: 'Planning', priority: 2 

ActiveAdmin.register Module do 
    menu parent: 'Bundle', priority: 1 

ActiveAdmin.register User do 
    menu parent: 'Administration', priority: 1 

Non ho una pagina per i menu superiori ('Pianificazione', 'Bundle', 'Amministrazione'), ma voglio vederli in un ordine personalizzato e non l'ordine alfabetico. Quindi, la mia domanda è: come posso impostare la priorità (ordine) dei menu genitori senza avere una pagina corrispondente per ciascuno di essi?

+0

duplicati di https://stackoverflow.com/questions/13910416/sorting-parent-menu-items-in-activeadmin?rq=1 –

risposta

11

Gli elementi, che non modello basato inizia loro priorità 10, così u può mettere 10+ priorità per i menu basati sul modello. Se è necessario stabilire delle priorità tra i menu non basati su modelli, è possibile costruire file di falso in cartella admin come admin/administration.rb con il codice:

ActiveAdmin.register_page "Administration" do 
    menu :label => "Administration", :priority => 15, :url => '#' 
end 

e admin/bundle.rb:

ActiveAdmin.register_page "Bundle" do 
    menu :label => "Bundle", :priority => 16, :url => '#' 
end 

, quindi

+0

Dovrei avere un file separato per ciascuna? Il nome del file dovrebbe essere singolare o plurale? – moorara

+0

Puoi dare un nome al file come vuoi, e sì, puoi usarlo in 1 file. – dsounded

+0

Mi spiace - Non capisco la prima frase nella tua risposta. Quello che dici è * articoli non basati su modello * INIZIA la loro priorità da10. E poi dici che si può usare una priorità per * gli articoli basati sul modello * a partire da 10. È lo stesso ... ??? Puoi chiarirlo un po '? Grazie. – awenkhh

0

Vedere "Personalizzazione delle voci del menu principale" in documentation.

# config/initializers/active_admin.rb 
config.namespace :admin do |admin| 
    admin.build_menu do |menu| 
    menu.add label: 'Blog', priority: 0 
    end 
end 

# app/admin/post.rb 
ActiveAdmin.register Post do 
    menu parent: 'Blog' 
end 
Problemi correlati