Find file
Fetching contributors…
Cannot retrieve contributors at this time
117 lines (81 sloc) 2.89 KB



Crummy is a simple and tasty way to add breadcrumbs to your Rails applications.


The gem is hosted on gemcutter, so if you haven’t already, add it as a gem source:

    gem sources -a

Then install the Crummy gem:

    gem install crummy

You can also install it as a Rails plugin:

    script/plugin install git://


In your controllers you may add_crumb either like a before_filter or within a method (It is also available to views).

    class ApplicationController
      add_crumb "Home", '/'
    class BusinessController < ApplicationController
      add_crumb("Businesses") { |instance| instance.send :businesses_path }
      add_crumb("Comments", :only => "comments") { |instance| instance.send :businesses_comments_path }
      before_filter :load_comment, :only => "show"
      add_crumb :comment, :only => "show"
      def show
        add_crumb @business.display_name, @business
      def load_comment
        @comment = Comment.find(params[:id])

Then in your view:

    <%= render_crumbs %>

Options for render_crumb_

render_crumbs renders the list of crumbs as either html or xml

It takes 3 options

The output format. Can either be :xml or :html. Defaults to :html

:format => (:html|:xml)

The seperator text. It does not assume you want spaces on either side so you must specify. Defaults to &raquo; for :html and <crumb> for :xml

:seperator => string

Render links in the output. Defaults to true

:links => boolean


  render_crumbs                     #=> <a href="/">Home</a> &raquo; <a href="/businesses">Businesses</a>
  render_crumbs :seperator => ' | ' #=> <a href="/">Home</a> | <a href="/businesses">Businesses</a>
  render_crumbs :format => :xml     #=> <crumb href="/">Home</crumb><crumb href="/businesses">Businesses</crumb>

A crumb with a nil link will just output plain text.


The variable set is set to @_crumbs as to not conflict with your code.


  • Port over rspecs from project to plugin (Fully tested in a project)
  • Accept instances of models as a single argument
  • Allow for variables in names. (The workaround is to do your own before_filter for that currently)


Copyright © 2008 Zach Inglis, released under the MIT license