Мы хотим добавить страницу справки нашему администратору, и мы используем активный камень администратора. Эта страница не связана с какой-либо моделью, поэтому я изо всех сил пытаюсь понять, как получить ссылку, отображаемую в строке меню на каждой странице.
Добавить страницу в активный админ
Ответ 1
Создайте файл /app/models/help.rb с этим содержимым, для более продвинутых моделей без таблиц вы можете проверить http://keithmcdonnell.net/activerecord_tableless_model_gem.html или google ваше собственное понимание вместе.
class Help < ActiveRecord::Base
def self.columns
@columns ||= []
end
# ...
end
добавить запись в /config/initializers/inflections.rb
ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable %w( help )
end
настройте маршрут для вашего браузера, в config/routes.rb:
match '/admin/help' => 'admin/help#index', :as => :admin_help
теперь вы можете сформулировать блок регистрации 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
конец
Ответ 2
Я знаю, что немного опоздал, но обычно я: 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