---
title: "Indispensable Rails Plugins"
description: "Obie Fernandez's post about his most favored plugins prompted me to consider how much I use not only the Rails core framework, but also some excellent plugins…"
author: "Kevin Hunt"
date: "2007-09-04"
kind: "archive"
tags: ["Plugins", "acts_as_solr", "attachment_fu", "geokit", "paginating_find"]
canonical: "https://kev.in/writing/indispensable-rails-plugins"
---

# Indispensable Rails Plugins

_From the archive: written in 2007._

[Obie Fernandez's post about his most favored plugins](http://www.jroller.com/obie/entry/rails_plugins_worth_their_something) prompted me to consider how much I use not only the Rails core framework, but also some excellent plugins that let me focus more on solving domain problems rather than technical ones. Below, the plugins I find indispensable in my work on [Dibs.net](http://dibs.net).

Dibs.net relies on these great plugins, some hacked slightly to suit my needs. These plugins have saved me months of work and enabled far greater functionality to be built-in from the start.

-   **[acts\_as\_slugable](http://code.dunae.ca/acts_as_slugable.html)** - Easy way to create permalinks from a title, without numeric IDs.
-   **[acts\_as\_solr](http://acts_as_solr.railsfreaks.com/)** - Running Solr behind your ActiveRecord models gives you excellent "Google-like" searching. IMO, better than `acts_as_ferret` for many uses where you can handle the added architectural complexity (particularly, running a Java-based Solr server).
-   **[acts\_as\_state\_machine](http://elitists.textdriven.com/svn/plugins/acts_as_state_machine)** - This is probably my favorite plugin. So good, I think it should be a part of ActiveRecord itself. If you have objects in "draft," "published" or "active" states you might want to check this out.
-   **[attachment\_fu](http://svn.techno-weenie.net/projects/plugins/attachment_fu/README)** - If file uploads give you a severe headache, attachment\_fu is like Advil.
-   **[betternestedset](http://opensource.symetrie.com/trac/better_nested_set/)** - Gives you higher performance selection methods like `all_children`. The API takes some getting used to and isn't suitable to replace existing solutions in all cases.
-   **[debug\_view\_helper](http://www.realityforge.org/articles/2006/03/20/rails-plugin-to-help-debug-views)** - Adds a button to your page that pops up debugging info about the request, cookies, session and instance variables.
-   **[exception\_notification](http://dev.rubyonrails.org/svn/rails/plugins/exception_notification/)** - Sends a ticket to my support queue whenever a user experiences an error.
-   **[geokit](http://geokit.rubyforge.org/)** - [Andre Lewis](http://earthcode.com/) and [Bill Eisenhauer](http://blog.billeisenhauer.com/) have done some amazing stuff here. Adds geo-intelligence (street address and IP geocoding) to ActiveRecords; also adds query-by-proximity, though I don't use that piece.
-   **[paginating\_find](http://cardboardrocket.com/pages/paginating_find)** - Another one that should be embedded into core ActiveRecord to replace the existing pagination that everyone recommends never to use.

Do you use any great plugins you think people would love?

### Feedback and Article Ideas

Want to see a topic explored here? [Send Me a Message](https://twitter.com/kev_in).
