Sha256: 2e435b2f141b379be89df0c04c0604ccb9f58ac6af3e469ea1b5d17879a7d9a6
Contents?: true
Size: 1.82 KB
Versions: 1
Compression:
Stored size: 1.82 KB
Contents
module Gretel module ViewHelpers # Sets the current breadcrumb to be rendered elsewhere. Put it somewhere in the view, preferably in the top, before you render any breadcrumbs HTML: # <% # breadcrumb :category, @category # %> def breadcrumb(key = nil, *args) if key.nil? || key.is_a?(Hash) raise ArgumentError, "The `breadcrumb` method was called with #{key.inspect} as the key. This method is used to set the breadcrumb. Maybe you meant to call the `breadcrumbs` method (with an 's' in the end) which is used to render the breadcrumbs?" end @_gretel_renderer = Gretel::Renderer.new(self, key, *args) end # Renders the breadcrumbs HTML, for example in your layout. See the readme for default options. # <%= breadcrumbs pretext: "You are here: " %> # # If you supply a block, it will yield an array with the breadcrumb links so you can build the breadcrumbs HTML manually: # <% breadcrumbs do |links| %> # <% if links.any? %> # You are here: # <% links.each do |link| %> # <%= link_to link.text, link.url %> (<%= link.key %>) # <% end %> # <% end %> # <% end %> def breadcrumbs(options = {}, &block) if block_given? gretel_renderer.yield_links(options, &block) else gretel_renderer.render(options) end end # Returns or yields parent breadcrumb (second-to-last in the trail) if it is present. def parent_breadcrumb(options = {}, &block) if block_given? gretel_renderer.yield_parent_breadcrumb(options, &block) else gretel_renderer.parent_breadcrumb(options) end end private # Reference to the Gretel breadcrumbs renderer. def gretel_renderer @_gretel_renderer ||= Gretel::Renderer.new(self, nil) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gretel-3.0.0.beta5 | lib/gretel/view_helpers.rb |