9

ActiveAdmin 文档说我可以像这样覆盖实用程序导航:

ActiveAdmin.setup do |config|
  config.namespace :admin do |admin|
    admin.build_menu :utility_navigation do |menu|
      menu.add label: "ActiveAdmin.info", url: "http://www.activeadmin.info", html_options: { target: :blank }
      admin.add_logout_button_to_menu menu # can also pass priority & html_options for link_to to use
    end
  end
end

它还说默认显示包括当前用户的电子邮件地址。它如何获取当前用户的电子邮件地址?当我尝试替换该menu.add label值时,current_admin_user我得到一个错误,说current_admin_user是未定义的。如何从配置文件中访问有关当前登录用户的信息?ActiveAdmin 在幕后是如何做到的?

4

2 回答 2

15
config.namespace :admin do |admin|
      admin.build_menu :utility_navigation do |menu|
         menu.add  :label  => proc{ display_name current_active_admin_user },
                  :url    =>  proc{  edit_admin_admin_user_path(current_active_admin_user) }  ,#link_to current_active_admin_user,
                  :id     => 'current_user',
                  :if     => proc{ current_active_admin_user? }
        admin.add_logout_button_to_menu menu
      end
    end
于 2013-07-11T12:31:50.277 回答
3

只需尝试以下操作:

ActiveAdmin.setup do |config|
  config.namespace :admin do |admin|
    admin.build_menu :utility_navigation do |menu|
      menu.add label: "ActiveAdmin.info", url: "http://www.activeadmin.info",
                                      html_options: { target: :blank }
      admin.add_current_user_to_menu  menu
      admin.add_logout_button_to_menu menu
    end
  end
end
于 2014-10-01T19:38:57.750 回答