活动管理员中的多级菜单
Multi level menus in active admin
有没有办法在 Active Admin 中创建多级菜单(超过两级深度),而某些条目不是模型?
类似于:
1 - Some_text
1.1 - Model_1
1.1.1 - Model_2
1.2 - Some_other_text
1.2.1 - Model_3
1.2.2 - Model_4
1.3 - Model_5
2 - Some_more_text
2.1 - Model_6
2.2 - Model_7
3 - Model_8
我还没有找到方法(我检查了 gem subnav 但它不允许我将纯文本作为菜单项:它必须是模型)。
欢迎提出任何建议。谢谢
方法是创建一个 ActiveAdmin::Views::Header
。
喜欢下面的:
class CustomAdminHeader < ActiveAdmin::Views::Header
include Rails.application.routes.url_helpers
def build(namespace, menu)
div class: 'c-nav' do
div class: 'logo' do
image_tag(image_url("logo.svg"))
end
div class: 'list' do
# Add one item without son.
ul do
# Replace route_destination_path for the route you want to follow when you receive the item click.
li { link_to 'Dashboard', admin_dashboard_path }
end
# Add one item with one son.
ul do
li do
text_node content_tag 'a', 'Animals'
ul do
li { link_to 'Cats', admin_cats_path }
li { link_to 'Dogs', admin_dogs_path }
li { link_to 'Wolves', admin_wolves_path }
li { link_to 'Cows', admin_cows_path }
li do
text_node content_tag 'a', 'Settings', class: '-with-children'
ul do
li { link_to 'Categories', admin_categories_path }
li { link_to 'Subcategories', admin_subcategories_path }
li { link_to 'Colors', admin_colors_path }
li { link_to 'Sizes', admin_sizes_path }
li { link_to 'Sounds', admin_sounds_path }
li { link_to 'Species', admin_species_index_path }
end
end
end
end
end
...
有没有办法在 Active Admin 中创建多级菜单(超过两级深度),而某些条目不是模型?
类似于:
1 - Some_text
1.1 - Model_1
1.1.1 - Model_2
1.2 - Some_other_text
1.2.1 - Model_3
1.2.2 - Model_4
1.3 - Model_5
2 - Some_more_text
2.1 - Model_6
2.2 - Model_7
3 - Model_8
我还没有找到方法(我检查了 gem subnav 但它不允许我将纯文本作为菜单项:它必须是模型)。
欢迎提出任何建议。谢谢
方法是创建一个 ActiveAdmin::Views::Header
。
喜欢下面的:
class CustomAdminHeader < ActiveAdmin::Views::Header
include Rails.application.routes.url_helpers
def build(namespace, menu)
div class: 'c-nav' do
div class: 'logo' do
image_tag(image_url("logo.svg"))
end
div class: 'list' do
# Add one item without son.
ul do
# Replace route_destination_path for the route you want to follow when you receive the item click.
li { link_to 'Dashboard', admin_dashboard_path }
end
# Add one item with one son.
ul do
li do
text_node content_tag 'a', 'Animals'
ul do
li { link_to 'Cats', admin_cats_path }
li { link_to 'Dogs', admin_dogs_path }
li { link_to 'Wolves', admin_wolves_path }
li { link_to 'Cows', admin_cows_path }
li do
text_node content_tag 'a', 'Settings', class: '-with-children'
ul do
li { link_to 'Categories', admin_categories_path }
li { link_to 'Subcategories', admin_subcategories_path }
li { link_to 'Colors', admin_colors_path }
li { link_to 'Sizes', admin_sizes_path }
li { link_to 'Sounds', admin_sounds_path }
li { link_to 'Species', admin_species_index_path }
end
end
end
end
end
...