2011-10-03 8 views
11

Queremos agregar una página de ayuda a nuestro administrador y estamos utilizando la gema de administración activa. Esta página no está asociada a ningún modelo, así que estoy tratando de encontrar la manera de que aparezca el enlace en la barra de menú en cada página.Agregue la página al administrador activo

+0

por qué no añadir una barra lateral como se explica aquí - http://activeadmin.info/docs/7-sidebars.html –

+0

Por qué no añadir una barra lateral a su modelo como el siguiente: 'sidehar: help render" help "end' – StephaneP

Respuesta

2

Realice un archivo /app/models/help.rb con este contenido, para obtener modelos más avanzados sin tablas, es posible que desee consultar http://keithmcdonnell.net/activerecord_tableless_model_gem.html o google su propia visión juntos.

class Help < ActiveRecord::Base 

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

    # ... 

end 

añadir una entrada a /config/initializers/inflections.rb

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

configurar una ruta para su viewlogger, en config/routes.rb:

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

ahora puede formular el bloque de registro activeadmin de la siguiente manera (asegúrese de crear una vista parcial en el lugar correcto)

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 

final

17

Sé que soy un poco tarde, pero normalmente soy: 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 

Aquí está el bloque de código correspondiente en 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

También se encuentra en la documentación Active Admin: http://activeadmin.info/docs/9-custom-pages.html Tenga en cuenta que necesita un versión reciente de Active Admin para que esto funcione: tuve que actualizar de 0.3.4 a 0.4.3 – dkobozev

+0

¿Dónde debería estar el código en el primer fragmento (con el método register_page)? ¿poner? –

+1

app/admin/help.rb –

Cuestiones relacionadas