将页面添加到活动管理员

Sco*_*ott 11 ruby-on-rails ruby-on-rails-3 activeadmin

我们想要向我们的管理员添加帮助页面,我们正在使用活动的admin gem.此页面与任何模型都没有关联,因此我正在努力弄清楚如何让链接显示在每个页面的菜单栏中.

Jef*_*cel 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
Run Code Online (Sandbox Code Playgroud)

这是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
Run Code Online (Sandbox Code Playgroud)


Sjo*_*rst 2

警告:这已经完全过时了,并且在 2020 年不再相关。这是针对 activeadmin <0.7 版本的。

使用此内容创建一个文件 /app/models/help.rb ,对于更高级的无表模型,您可能需要查看http://keithmcdonnell.net/activerecord_tableless_model_gem.html或一起 google 一下您自己的见解。

class Help < ActiveRecord::Base

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

  # ...  

end
Run Code Online (Sandbox Code Playgroud)

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

ActiveSupport::Inflector.inflections do |inflect|
  inflect.uncountable %w( help )
end
Run Code Online (Sandbox Code Playgroud)

在 config/routes.rb 中为您的视图记录器设置一条路线:

match '/admin/help' => 'admin/help#index', :as => :admin_help
Run Code Online (Sandbox Code Playgroud)

现在您可以按如下方式制定 activeadmin 注册块(确保您在正确的位置创建了一个视图部分)

class Help < ActiveRecord::Base

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

  # ...  

end
Run Code Online (Sandbox Code Playgroud)