Breadcrumbs for Rails with special sauce.
Ruby
Switch branches/tags
Nothing to show
Pull request Compare This branch is 22 commits ahead of gregbell:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
.gitignore
MIT-LICENSE
README.rdoc
Rakefile
init.rb

README.rdoc

Simplified Breadcrumbs

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.

Changes

Changed breadcrumb method to accept 4 options: :tag, :class, :separator, and :no_link.

  • :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_tag option.

  • :separator - Acts the same as the old breadcrumb method worked.

  • :no_link - Specify which breadcrumb is does not have a link. Default is to leave the current page unlinked. Set :no_link => "last" to leave the last breadcrumb unlinked instead.

Example

##
# 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(:tag => 'li') %>
<%= breadcrumb(:no_link => 'last' %>

Acknowledgments

Copyright © 2008-2009 Francesc Esplugas, released under the MIT license