活动管理员资源的下拉菜单

时间:2019-05-17 20:48:08

标签: ruby-on-rails activeadmin

我正在尝试在活动管理员的导航中创建一个下拉菜单。文档:

https://activeadmin.info/2-resource-customization.html#customize-the-menu

说我要做的就是创建菜单:

    config.namespace :admin do |admin|
      admin.build_menu do |menu|
        menu.add label: 'example', priority: 0
      end
    end

然后将该菜单添加为资源的父级:

menu parent: 'example'

但这对我不起作用。

到目前为止,唯一的是:

    config.namespace :admin do |admin|
      admin.build_menu do |menu|
        menu.add label: 'Appointment', priority: 0, html_options: { target: :blank } do |item|
          item.add label: 'Appointment',  url: '/admin/appointments'
          item.add label: 'AppointmentCommunication',  url: '/admin/appointment_communications'
        end
      end
    end

带菜单:实际资源文件中为false。

但是,这很混乱,而且组织不好。我希望有一种更简单的菜单制作方法。但是也许我只是想念一些东西。

注意:我确实尝试为菜单命名,而不是其中一种资源的名称,但是没有任何变化。另外,我尝试将两个资源-Appointment和AppointmentCommunication-移到名为Appointment的文件夹中,但是显然没有用。

任何对此的想法将不胜感激。

2 个答案:

答案 0 :(得分:0)

它应该像在文档中一样工作

# app/admin/appointment.rb
  menu label: 'Appointment', parent: 'Appointments', priority: 0

# app/admin/appointment_communication.rb
  menu label: 'Appointment Communication', parent: 'Appointments', priority: 1

答案 1 :(得分:0)

几个选项:

  1. 您只需在资源中添加父菜单即可使用,而无需对其进行定义:
menu parent: 'site'

site将成为下拉名称,资源将成为菜单项。

  1. 您可以在initializers/active_admin.rb中定义父菜单:

config.namespace:admin执行| admin | super_admin.site_title =“活动管理员”

admin.build_menu do |menu|
  menu.add label: 'Configuration', priority: 0
end

要注意的一件事是,如果使用选项#2,则必须重新启动服务器才能查看更改。

来源:https://activeadmin.info/2-resource-customization.html#customize-the-menu