Ruby on Rails
Plugins

Introduction

A Rails plugin is either an extension or a modification of the core framework. Plugins provide:

Examples of plugin usage include an ‘acts_as_taggable’ mixin for ActiveRecord objects (makes tagging trivial), ‘file_column’ for ActiveRecord (makes file uploading and image resizing easy), and ‘globalize’ (adds multilingual and internationalization support to Rails).

Further Reading

To Install

You can add known plugin repositories by typing
script/plugin discover
Or for windows
ruby script\plugin discover

You can add a known plugin repository by url with

script/plugin source URL

Or for windows
ruby script\plugin source URL

Remove your repositories by typing

script/plugin unsource URL

Or for windows
ruby script\plugin unsource URL

To install a given plugin, from the root of your Rails application type

script/plugin install [name of plugin, or the url to the desired plugin]

You can also install a plugin using Piston so you can track/update changes easily, and you don’t depend on the original plugin repository. First install Piston:

sudo gem install piston

Then install the plugin as svn:externals and convert it:

script/plugin install -x [name of plugin, or the url to the desired plugin]
piston convert

If you’re developing on windows, navigate to the root of your application and type
ruby script\plugin install [url, or name of plugin]
If the install fails returning a definition of the svn “export” command:

See HowtoUseRailsWithSubversion on how to add plugins into your project’s Subversion repository.

Newly installed plugins won’t be available until you restart your webserver.

Installation Alternative

Use rapt , the Rails Plugin Tool. Install via gems:

sudo gem install rapt

Then search for a plugin:
rapt search "search words here" 

Then install via the SVN method mentioned above:
rapt install results

Where ‘results’ are: http://the.url/listed/from/the/search/results

Plugin Documentation

To find out how to use a newly installed plugin navigate to your project directory and issue the following command:

rake rdoc:plugins

this will generate complete documentation for your project, including the installed plugins it uses. You can then view the html version of this documentation by pointing your browser at yourApp/doc/plugins.

Plugin Directory

A searchable plugin database
and RailsLodge plugin directory is also available.

Plugins By Category

Model Extensions

View Extensions

Controller Extensions

Searching and Query Plugins

Asset Plugins

Internationalization Plugins

Testing Plugins

Performance Plugins

Statistics and Logs

Authentication and Security Plugins

Other Plugins

Due to size restrictions on this page, plugin descriptions have been categorized above.
Bug: The ‘script/plugin’ script included in Rails 1.0 will scrape this page for subversion repositories and automatically include these plugins in its list of available plugins.
(Bug: ‘script/plugin discover’ only finds repository names in this page that contains the term ‘plugins’ )

So for a plugin repositiory to appear to ‘script/plugin discover’ it’s url must be listed below, and it’s url must contain a directory named ‘plugins’.

for a more complete plugin repository visit http://www.agilewebdevelopment.com/plugins/ or http://www.railslodge.com .

Plugin Repositories

svn://rubyforge.org/var/svn/expressica/plugins/

http://soen.ca/svn/projects/rails/plugins/

http://technoweenie.stikipad.com/plugins/

http://svn.techno-weenie.net/projects/plugins/

http://svn.recentrambles.com/plugins/

http://opensvn.csie.org/rails_file_column/plugins/

http://svn.protocool.com/public/plugins/

http://tools.assembla.com/svn/breakout/breakout/vendor/plugins/

http://svn.pragprog.com/Public/plugins/

http://source.collectiveidea.com/public/rails/plugins/

https://secure.near-time.com/svn/plugins/

http://svn.inlet-media.de/svn/rails_extensions/plugins/

http://svn.viney.net.nz/things/rails/plugins/

http://svn.hasmanythrough.com/public/plugins/

http://svn.shiftnetwork.com/plugins/

svn://caboo.se/plugins/

http://svn.6brand.com/projects/plugins/

http://shanesbrain.net/svn/rails/plugins/

svn://errtheblog.com/svn/plugins/

http://svn.nkryptic.com/plugins/

http://svn.thoughtbot.com/plugins/

http://svn.webwideconsulting.com/plugins/

http://invisible.ch/svn/projects/plugins/

svn://rubyforge.org/var/svn/enum-column/plugins/

http://streamlinedframework.org:8079/streamlined/plugins/

http://retrospectiva.googlecode.com/svn/trunk/

http://hivelogic.com/plugins/

http://mattmccray.com/svn/rails/plugins/

svn://rubyforge.org/var/svn/cartographer/plugins/

http://www.svn.recentrambles.com/plugins/

http://tanjero.com/svn/plugins/

http://filetofsole.org/svn/public/projects/rails/plugins/

http://topfunky.net/svn/plugins/

svn://rubyforge.org/var/svn/agtools/plugins/

http://svn.aviditybytes.com/rails/plugins/

http://beautifulpixel.textdriven.com/svn/plugins/

http://mabs29.googlecode.com/svn/trunk/plugins/

http://www.codyfauser.com/svn/projects/plugins/

http://craz8.com/svn/trunk/plugins/

http://sean.treadway.info/svn/plugins/

http://svn.thebootstrapnation.com/public/plugins/

http://www.mattmccray.com/svn/rails/plugins/

svn://rubyforge.org//var/svn/validaterequest/plugins/

http://sprocket.slackworks.com/svn/rails/plugins/

http://svn.simpltry.com/plugins/

http://svn.elctech.com/svn/public/plugins/

http://xmlblog.stikipad.com/plugins/

http://www.xml-blog.com/svn/plugins/

http://svn.toolbocks.com/plugins/

http://thar.be/svn/projects/plugins/

http://code.teytek.com/rails/plugins/

http://www.infused.org/svn/plugins/

svn://rubyforge.org/var/svn/apptrain/trunk/vendor/plugins/

http://s3cachestore.googlecode.com/svn/trunk/plugins/

http://sbecker.net/shared/plugins/

http://opensvn.csie.org/macaque/plugins/

http://svn.designbyfront.com/rails/plugins/

svn://rails.bleedingtrends.com/

http://svn.rails-engines.org/plugins/

http://john.guen.in/svn/plugins/

http://www.redhillonrails.org/svn/trunk/vendor/plugins/

svn://rubyforge.org/var/svn/actsdisjoint/plugins/

http://ajaxmessaging.googlecode.com/svn/trunk/plugins/

http://mod-i18n.googlecode.com/svn/trunk/plugins/

svn://majakari.net/public/rails/plugins/

http://svn.lightyearsoftware.com/svn/plugins

http://svn.devjavu.com/malaysia-rb/plugins/

http://svn.railslodge.com/svn/plugins/

http://flouzometer.rubyforge.org/svn/trunk/plugins/

svn://svn.spattendesign.com/svn/plugins/

http://rails.sanityinc.com/plugins/

http://ror.ru/

http://svn.savvica.com/public/plugins/

https://svn01.allmyfunds.com.au/svn/public/plugins/

http://svn.megablaix.com/plugins/

https://svn.playtype.net:8443/plugins/

http://to-json-options.rubyforge.org/svn/trunk/plugins/

http://rails-multifielddate-plugin.googlecode.com/svn/plugins/

http://flexible-rails.googlecode.com/svn/trunk/plugins/

http://sql-helper.rubyforge.org/svn/trunk/plugins/

http://accounts4free.rubyforge.org/svn/plugins

http://winnscriptatype.rubyforge.org/svn/plugins/

svn://furtherin.net/rails/plugins/

http://dectxn.rubyforge.org/svn/tags/CURRENT/plugins/

http://svn.ingoweiss.com/plugins