Skip to content

Our fork of crummy, with some minor changes. Generally locked onto rails 2.3

License

Notifications You must be signed in to change notification settings

friendlysystems/crummy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crummy

Introduction

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

Install

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

  
    gem sources -a http://gemcutter.org/
  

Then install the Crummy gem:

  
    gem install crummy
  

Rails 3 / Bundler.

Simply add gem dependency to your Gemfile:

  
    gem "crummy", ">= 1.0.1"
  

Example

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", '/'
    end
    
    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
      end
      
      def load_comment
        @comment = Comment.find(params[:id])
      end
    end
  

Then in your view:

  
    <%= render_crumbs %>
  

Options for render_crumbs

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

Examples

 
  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.

Notes

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

Todo

  • 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)

Credits

Copyright © 2010 Zach Inglis, released under the MIT license

About

Our fork of crummy, with some minor changes. Generally locked onto rails 2.3

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages