2011-10-03 2 views
11

Stiamo aggiungendo una pagina di aiuto al nostro amministratore e stiamo utilizzando la gemma admin attiva. Questa pagina non è associata a nessun modello, quindi sto cercando di capire come ottenere il link nella barra dei menu di ogni pagina.Aggiungi pagina all'amministratore attivo

+0

perché non aggiungere una barra laterale, come spiegato qui - http://activeadmin.info/docs/7-sidebars.html –

+0

Perché non aggiungere una barra laterale al tuo modello come il seguente: 'sidehar: help make render" help "end' – StephaneP

risposta

2

Crea un file /app/models/help.rb con questo contenuto, per i modelli di tableless più avanzati che potresti voler controllare http://keithmcdonnell.net/activerecord_tableless_model_gem.html o google la tua visione insieme.

class Help < ActiveRecord::Base 

    def self.columns 
    @columns ||= [] 
    end 

    # ... 

end 

aggiungere una voce al /config/initializers/inflections.rb

ActiveSupport::Inflector.inflections do |inflect| 
    inflect.uncountable %w(help) 
end 

istituito un percorso per la vostra viewlogger, in config/routes.rb:

match '/admin/help' => 'admin/help#index', :as => :admin_help 

ora puoi formulare il blocco di registro activeadmin come segue (assicurati di creare una vista parziale nel posto giusto)

ActiveAdmin.register Help do  
    config.comments = false 
    before_filter do @skip_sidebar = true end 
    # menu false 
    config.clear_action_items! # this will prevent the 'new button' showing up  
    controller do 
    def index 
     # some hopefully useful code 
     render 'admin/help/index', :layout => 'active_admin' 
    end 
    end 

fine

17

So che sono un po 'in ritardo, ma di solito sono: D.

ActiveAdmin.register_page "Help" do 

    content do 
    panel "My Panel Test" do 
     "Hello World" 
    end 
    end 


    sidebar "Test Sidebar" do 
    "Hi World" 
    end 
end 

Ecco il blocco di codice corrispondente active_admin

# Register a page 
# 
# @param name [String] The page name 
# @options [Hash] Accepts option :namespace. 
# @&block The registration block. 
# 
def register_page(name, options = {}, &block) 
    namespace_name = extract_namespace_name(options) 
    namespace = find_or_create_namespace(namespace_name) 
    namespace.register_page(name, options, &block) 
end 
+0

E 'anche nella documentazione Active Admin: http://activeadmin.info/docs/9-custom-pages.html Nota che hai bisogno di un la versione recente di Active Admin per farlo funzionare: ho dovuto effettuare l'aggiornamento da 0.3.4 a 0.4.3 – dkobozev

+0

Dove dovrebbe essere il codice nel primo frammento (con il metodo register_page) mettere? –

+1

app/admin/help.rb –