A nice way to add breadcrumbs to your application. Antonio Cangiano posted a link in the Ruby on Rails weblog to a post which talked about adding breadcrumbs to your Rails application. I’ve been doing this with helpers, but as the post says this is “Easy and flexible”. So I’ve created the plugin.
Changed breadcrumb method to accept 3 options: :wrap_with_tag, :class and :separator.
-
:wrap_with_tag- An HTML tag to wrap each breadcrumb entry with (ie. li, p, etc.). -
:class- An HTML class to give to the tag specified in the:wrap_with_tagoption. -
:separator- Acts the same as the old breadcrumb method worked.
##
# app/controllers/application.rb
#
class ApplicationController < ActionController::Base
add_breadcrumb 'Home', :root_path
end
##
# app/controllers/things_controller.rb
#
class ThingsController < ApplicationController
add_breadcrumb 'Things', :things_path
add_breadcrumb 'Create a new thing', '', :only => [:new, :create]
add_breadcrumb 'Edit a thing', '', :only => [:edit, :update]
def show
@thing = Thing.find(params[:id])
add_breadcrumb @thing.name, thing_path(@thing)
end
end
##
# app/views/layouts/application.html.erb
#
<%= breadcrumb %>
<%= breadcrumb(:separator => '=>') %>
<%= breadcrumb(:wrap_with_tag => 'li') %>
-
Przemyslaw Kowalczyk for his post szeryf.wordpress.com/2008/06/13/easy-and-flexible-breadcrumbs-for-rails/
-
Original code by: Francesc Esplugas Marti
-
Updated Syntax by Greg Bell: github.com/gregbell/simplified_breadcrumbs/tree/master
Copyright © 2008-2009 Francesc Esplugas, released under the MIT license