Module: ActiveAdmin::ViewHelpers::BreadcrumbHelper

Included in:
ActiveAdmin::ViewHelpers
Defined in:
lib/active_admin/view_helpers/breadcrumb_helper.rb

Instance Method Summary collapse

Instance Method Details

Returns an array of links to use in a breadcrumb



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/active_admin/view_helpers/breadcrumb_helper.rb', line 6

def breadcrumb_links(path = nil)
  path ||= request.fullpath
  parts = path.gsub(/^\//, '').split('/')
  parts.pop unless %w{ create update }.include?(params[:action])
  crumbs = []
  parts.each_with_index do |part, index|
    name = ""
    if part =~ /^\d/ && parent = parts[index - 1]
      begin
        parent_class = parent.singularize.camelcase.constantize
        obj = parent_class.find(part.to_i)
        name = obj.display_name if obj.respond_to?(:display_name)
      rescue
      end
    end
    name = part.titlecase if name == ""
    crumbs << link_to(name, "/" + parts[0..index].join('/'))
  end
  crumbs
end