如何在 ActiveAdmin 中设置父菜单优先级?
How to set a parent menu priority in ActiveAdmin?
我的 Ruby 在 Rails 应用程序中有几个模型,例如 "Plan"、"Tester"、"Module" 等。使用 activeadmin gem,我想为这些实体中的每一个创建一个页面,并将每个实体放在几个不同的菜单下。所以我的代码如下所示:
ActiveAdmin.register Plan do
menu parent: 'Planning', priority: 1
ActiveAdmin.register Tester do
menu parent: 'Planning', priority: 2
ActiveAdmin.register Module do
menu parent: 'Bundle', priority: 1
ActiveAdmin.register User do
menu parent: 'Administration', priority: 1
我没有顶级菜单页面('Planning'、'Bundle'、'Administration'),但我想按自定义顺序查看它们,而不是按字母顺序命令。所以,我的问题是如何设置父菜单的优先级(顺序)而不为每个菜单设置相应的页面?
非基于模型的项目的优先级从 10 开始,因此您可以为基于模型的菜单设置 10+ 优先级。
如果您需要在非基于模型的菜单中设置优先级,您可以在 admin 文件夹下构建假文件,如 admin/administration.rb 代码:
ActiveAdmin.register_page "Administration" do
menu :label => "Administration", :priority => 15, :url => '#'
end
和admin/bundle.rb:
ActiveAdmin.register_page "Bundle" do
menu :label => "Bundle", :priority => 16, :url => '#'
end
等等
参见 documentation 中的 'Customizing Parent Menu Items'。
# config/initializers/active_admin.rb
config.namespace :admin do |admin|
admin.build_menu do |menu|
menu.add label: 'Blog', priority: 0
end
end
# app/admin/post.rb
ActiveAdmin.register Post do
menu parent: 'Blog'
end
我的 Ruby 在 Rails 应用程序中有几个模型,例如 "Plan"、"Tester"、"Module" 等。使用 activeadmin gem,我想为这些实体中的每一个创建一个页面,并将每个实体放在几个不同的菜单下。所以我的代码如下所示:
ActiveAdmin.register Plan do
menu parent: 'Planning', priority: 1
ActiveAdmin.register Tester do
menu parent: 'Planning', priority: 2
ActiveAdmin.register Module do
menu parent: 'Bundle', priority: 1
ActiveAdmin.register User do
menu parent: 'Administration', priority: 1
我没有顶级菜单页面('Planning'、'Bundle'、'Administration'),但我想按自定义顺序查看它们,而不是按字母顺序命令。所以,我的问题是如何设置父菜单的优先级(顺序)而不为每个菜单设置相应的页面?
非基于模型的项目的优先级从 10 开始,因此您可以为基于模型的菜单设置 10+ 优先级。 如果您需要在非基于模型的菜单中设置优先级,您可以在 admin 文件夹下构建假文件,如 admin/administration.rb 代码:
ActiveAdmin.register_page "Administration" do
menu :label => "Administration", :priority => 15, :url => '#'
end
和admin/bundle.rb:
ActiveAdmin.register_page "Bundle" do
menu :label => "Bundle", :priority => 16, :url => '#'
end
等等
参见 documentation 中的 'Customizing Parent Menu Items'。
# config/initializers/active_admin.rb
config.namespace :admin do |admin|
admin.build_menu do |menu|
menu.add label: 'Blog', priority: 0
end
end
# app/admin/post.rb
ActiveAdmin.register Post do
menu parent: 'Blog'
end