Skip to content

Instantly share code, notes, and snippets.

@sharvit
Created January 18, 2018 15:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sharvit/41d73803d5e15e5348c5baa7be758b79 to your computer and use it in GitHub Desktop.
Save sharvit/41d73803d5e15e5348c5baa7be758b79 to your computer and use it in GitHub Desktop.
Breadcrumbs layout helper
def get_resource
instance_variable_get("@#{controller_name.singularize}")
end
def get_resource_label(resource)
resource.try(:to_label) || resource.try(:to_s) unless resource.new_record?
end
def get_resource_menu(resource)
label = get_resource_label(resource)
[{caption: _(controller_name.humanize), url: try("#{controller_name}_path")},
{caption: [_(action_name.humanize), label].join(' '), url: '#' }]
end
def mount_breadcrumbs(resource, &block)
menu = block_given? ? yield : get_resource_menu(resource)
mount_react_component("Breadcrumb", "#breadcrumb", { menu: menu }.to_json)
end
def breadcrumbs(resource, &block)
content_for(:breadcrumbs) do
mount_breadcrumbs(resource, &block)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment