如何在ActiveAdmin中将链接添加回应用程序?

时间:2011-08-26 03:33:52

标签: ruby-on-rails activeadmin

我需要在ActiveAdmin页面中添加一些指向应用程序某些页面的链接。我可以使用侧边栏来完成此操作,但我必须为每个资源重复代码。有没有向标题添加自定义链接?或者定义将为所有资源显示的侧边栏?

3 个答案:

答案 0 :(得分:15)

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

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

config.site_title_link = :root

会将网站标题链接到您应用的root_path。

答案 1 :(得分: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

答案 2 :(得分: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