7

我需要在 ActiveAdmin 页面中添加一些指向应用程序某些页面的链接。我可以使用侧边栏来做到这一点,但我必须为我的每个资源重复代码。是否有向标题添加自定义链接?或者定义一个将出现在所有资源中的侧边栏?

4

3 回答 3

17

我也不想忽略在 initializers/active_admin.rb 中设置 config.site_title_link。

我很确定它需要一个符号来代表您的应用程序中的路由名称,例如:

config.site_title_link = :root

会将站点标题链接到应用程序的 root_path。

于 2011-09-23T14:37:10.360 回答
11

谢谢@phoet!通过覆盖 HeaderRenderer 来实现它:

  module ActiveAdmin
    module Views
      class HeaderRenderer
        def to_html
          title + global_navigation + application_link + utility_navigation
        end

        def application_link
          link_to('Back to Application', root_url)
        end
      end
    end
  end
于 2011-08-28T02:02:37.107 回答
2

我认为没有内置方法可以做到这一点,但您可以覆盖 TabsRenderer (2.2) / TabbedNavigation (3.0) 中的渲染逻辑:

  def render_menu(menu)
    content_tag :ul, :id => @options[:id] do
      menu.items.collect do |item|
        render_item(item)
      end.join.<<('your_custom_stuff').html_safe
    end
  end
于 2011-08-26T08:17:02.377 回答