2011-10-03 98 views
11

我们希望向我们的管理员添加帮助页面,并且我们正在使用活动的管理员界面。这个页面并没有与任何模型相关联,所以我很努力想弄清楚如何让链接显示在每个页面的菜单栏中。将页面添加到活动管理

+0

为什么不添加一个侧边栏,如下解释 - http://activeadmin.info/docs/7-sidebars.html –

+0

为什么不添加一个侧边栏到你的模型,如下所示:'sidehar:help render'help'end' – StephaneP

回答

2

使用此内容创建文件/app/models/help.rb,以获得更高级的无表格模型,您可能需要查看http://keithmcdonnell.net/activerecord_tableless_model_gem.html或Google自己的见解。现在

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

你:

class Help < ActiveRecord::Base 

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

    # ... 

end 

添加一个条目来/config/initializers/inflections.rb

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

为您的viewlogger的路线,在配置/ routes.rb中可以按如下方式制定activeadmin寄存器块(请确保您在正确的位置创建了部分视图)

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 

结束

17

我知道我有点晚,但我通常是: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 

下面是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

它也在Active Admin文档中:http://activeadmin.info/docs/9-custom-pages.html请注意,你需要一个公平的最近版本的Active Admin for this work:我不得不从0.3.4升级到0.4.3 – dkobozev

+0

第一个代码片段(使用register_page方法)应该在哪里放? –

+1

app/admin/help.rb –

相关问题