41

I have seen many sites which provide the whole list of Rails plugins, Ruby libraries and Ruby gems, but we hardly use few of them and some may not suit our requirement and we spend a whole lot of time searching for useful Plugins which suits our requirement.

I have created this poll, people can post useful libraries, gems and plugins which they have come across. It would be great help for newbies like me and to the entire Ruby on Rails community.

Note: to keep this poll as useful as possible, please remember:

  • Post only one library, gem, or plugin per answer
  • Mention the name of the library, gem, or plugin which you find it useful.
  • URL of the location of the resource
  • We don't want duplicate answers, so before posting check if the library has been mentioned already.

Edit: Any new plugins/Gems for Rails 3 ?

Thanks!

habib
  • 2,366
  • 5
  • 25
  • 41
Srinivas M.V.
  • 6,508
  • 5
  • 33
  • 49
  • Here is my list of gems in development group that helps to make things faster or sometimes bring simplicity to the development process http://www.codebeerstartups.com/2013/04/must-have-gems-for-development-machine-in-ruby-on-rails/ – Mohit Jain Jun 10 '13 at 09:57

43 Answers43

21

Will Paginate - essential for pagination.

Codebeef
  • 43,508
  • 23
  • 86
  • 119
19

HAML and SASS

NARKOZ
  • 27,203
  • 7
  • 68
  • 90
Reuben Mallaby
  • 5,740
  • 4
  • 47
  • 45
  • 3
    disagree with this, I think most people (especially on large projects) would rather have their html as html. – Omar Qureshi Jul 17 '09 at 12:37
  • 1
    The question didn't say large projects 8) And most people I know working on large Rails based projects ten to use HAML and SASS. – Reuben Mallaby Jul 17 '09 at 12:41
  • How many of the people who work on these projects are people who come from a completely front end background. JUST XHTML and CSS? Even if its 1, the benefits(?) of HAML and SASS are negated by that person who spent their entire career learning CSS and XHTML because of the differences in Syntax. – Omar Qureshi Jul 17 '09 at 13:23
  • Luckily this question was tagged "subjective" as in your opionion it's not good, but in mine it is very good. Vote up the gems/plugins that you do like 8) – Reuben Mallaby Jul 17 '09 at 13:48
  • 6
    I love HAML and SASS. You get much more readable views with it. You also can't miss closing your tags while using it over (X)HTML, since it does it for you. All in all, it's worth the extra 20 minutes it'll take a designer to learn. – Robert Rouse Jul 17 '09 at 14:36
  • 1
    Indeed, I've used HTML -> XHTML -> CSS for over 10 years, and HAML made me finally fall in love with my job 8) Even so, I teach use of ERB and HTML and add HAML for students to choose as they feel more comfortable. – Reuben Mallaby Jul 17 '09 at 18:53
18

devise - a more comprehensive authentication gem

ohho
  • 50,879
  • 75
  • 256
  • 383
17

Authlogic - Easy Authentication

Codebeef
  • 43,508
  • 23
  • 86
  • 119
Robert Rouse
  • 4,801
  • 1
  • 19
  • 19
15

Formtastic - Awsome form helpers.

It lets you do things like this:

<% semantic_form_for @user do |f| %>
    <% f.inputs do %>
        <%= f.input :email %>
        <%= f.input :password %>
        <%= f.input :password_confirmation %>
    <% end %>

    <% f.buttons do %>
        <%= f.commit_button 'Sign Up' %>
    <% end %>
<% end %>

and get decent, semantic HTML:

Codebeef
  • 43,508
  • 23
  • 86
  • 119
  • Never seen this before - I'll have to take a look through! – Reuben Mallaby Jul 17 '09 at 12:51
  • I stumbled across this the other day in a thoughtbot blog post, figured I'd see if anyone had mentioned it on SO. This really is one of the best plugins I've ever used. It is so awesome it hurts. – jonnii Aug 11 '09 at 18:02
15

Rspec - for BDD.

Codebeef
  • 43,508
  • 23
  • 86
  • 119
14

FactoryGirl : Fixture replacement for focused and readable tests.

Akshay Rawat
  • 4,714
  • 5
  • 40
  • 65
13

Paperclip - Simple file uploads

Codebeef
  • 43,508
  • 23
  • 86
  • 119
11

Nokogiri - for all your XML and HTML parsing and searching needs.

Greg Campbell
  • 15,182
  • 3
  • 44
  • 45
9

Capistrano - for easy deployment.

Codebeef
  • 43,508
  • 23
  • 86
  • 119
9

Faker - for creating valid, fake data. Great for populating an empty dev DB / testing.

Codebeef
  • 43,508
  • 23
  • 86
  • 119
9

Annotate - simple gem which adds something like

#== Schema Information
#
#Table name: buttons
#id           :integer(4)      not null, primary key
#text         :string(255)
#font_size    :integer(4)
#user_id      :integer(4)
#created_at   :datetime
#updated_at   :datetime
#button_stats :integer(4)      default(0), not null

to your model definitions and fixtures

Bohdan
  • 8,298
  • 6
  • 41
  • 51
7

Thinking Sphinx - for integrating with Sphinx for dead-simple text-searching in your app.

Codebeef
  • 43,508
  • 23
  • 86
  • 119
6

Clearance for authentication.

hgmnz
  • 13,208
  • 4
  • 37
  • 41
5

Populator - for pushing data into the DB when populating it. Used in conjunction with Faker. More info here.

Codebeef
  • 43,508
  • 23
  • 86
  • 119
5

cancan - for roles, companion of authlogic

ohho
  • 50,879
  • 75
  • 256
  • 383
4

Capistrano-ext - allows you to setup separate deploy recipes for staging / production / whatever other environment you have

Codebeef
  • 43,508
  • 23
  • 86
  • 119
4

Seed-Fu - Easy database seeding gem. Please don't use migrations to seed your database! :)

Robert Rouse
  • 4,801
  • 1
  • 19
  • 19
4

prawn - PDF generation

ohho
  • 50,879
  • 75
  • 256
  • 383
4

Cucumber - BDD and testing

It lets software development teams describe how software should behave in plain text. The text is written in a business-readable domain-specific language and serves as documentation, automated tests and development-aid - all rolled into one format.

Community
  • 1
  • 1
Andrei
  • 10,918
  • 12
  • 76
  • 110
3

grosser-rpx_now - Interface into RPXNow.com, which provides an interface into OpenID, Facebook, MySpace, Twitter, and much more in terms of authentication. A great companion for Authlogic.

Robert Rouse
  • 4,801
  • 1
  • 19
  • 19
3

Mofo gem - A ruby microformat parser , Helps to import Profile data from networking sites which implements microformats using hResume,hCard . ex LinkedIn , Xing ,Twitter etc .

Very useful gem .

Srinivas M.V.
  • 6,508
  • 5
  • 33
  • 49
3

soap4r: A must have for making soap calls!

Source: http://rubyforge.org/projects/soap4r/

Swanand
  • 12,317
  • 7
  • 45
  • 62
3

Contacts is a universal interface to grab contact list information from various providers including Hotmail, Gmail and Yahoo.

Srinivas M.V.
  • 6,508
  • 5
  • 33
  • 49
3

jRails is a drop-in jQuery replacement for the Rails Prototype/script.aculo.us helpers.

Srinivas M.V.
  • 6,508
  • 5
  • 33
  • 49
3

Delayed Job for background processing.

shinzui
  • 281
  • 2
  • 7
3

calendar_date_select - calendar pop-up

ohho
  • 50,879
  • 75
  • 256
  • 383
3

thin, a faster http server

ohho
  • 50,879
  • 75
  • 256
  • 383
3

Webrat - testing

is a Ruby integration test library. It has two main purposes:

  1. Implement a browser simulator to allow fast, reliable integration testing (sans JavaScript) without requiring Selenium or Watir and their associated issues.
  2. Define a ubiquitous DSL for describing interacting with a web application from the perspective of an end user.
Community
  • 1
  • 1
Andrei
  • 10,918
  • 12
  • 76
  • 110
3

simple_form - built on top of formtastic, and despite its name it's even better giving you better control (by being agnostic) over layout and everything is configurable. I'm surprised it wasn't listed already as it's very popular.

Michael Durrant
  • 93,410
  • 97
  • 333
  • 497
2

Validation Reflection - when used with formtastic, it frees you from having to specify which fields of a form are required, as it infers it from your model validations.

Codebeef
  • 43,508
  • 23
  • 86
  • 119
2

Nested Layouts - Great when you have sections of your site that sit inside their own wrappers. My account (in many apps) has a series of controllers that may have a common navigation header. Nested layouts allows you to use a my_account layout that sits inside your application layout, preventing the need for duplicate layout code or spurious navigation partials.

Codebeef
  • 43,508
  • 23
  • 86
  • 119
2

I really enjoy harsh for syntax highlighting. It gives you access to all of the TextMate themes also, which I love.

Anon
  • 5,103
  • 11
  • 45
  • 58
2

More, the rails plugin for Less, the CSS extension. I prefer Less to Haml; there's no learning curve for Less.

August Lilleaas
  • 54,010
  • 13
  • 102
  • 111
1

Backup-fu - in conjuction with capistrano, we always backup before a deploy to Amazon S3, and set cron jobs that periodically backup the database and asset directories.

Codebeef
  • 43,508
  • 23
  • 86
  • 119
1

state_machine: adds support for creating state machines with a lot of very useful features. It has great ActiveRecord integration and even supports automatic named scope for states.

shinzui
  • 281
  • 2
  • 7
1

tracked_plugins keeps track of plugin install information/updates/local-modification for all plugins you install

grosser
  • 14,707
  • 7
  • 57
  • 61
1

Oddly self-serving but I find these helpful:

by_star - Helpful for finding records based on time ranges.
lookup - Ever wanted to look up a Rails method in the API from the command line?

Use lookup has_many to be taken to that method in the API. Also supports fuzzy matching.

Dhaval Marthak
  • 17,246
  • 6
  • 46
  • 68
Ryan Bigg
  • 106,965
  • 23
  • 235
  • 261
1

youtube-g is a pure Ruby client for the YouTube GData API. It provides an easy way to access the latest YouTube video search results from your own programs

Big Bang Theory
  • 311
  • 1
  • 4
  • 16
1

smerf - dynamic forms for surveys and questionnaires

ohho
  • 50,879
  • 75
  • 256
  • 383
1

Savage Beast 2 Based on the very popular Rails message forum, Beast, this is a Rails forum that implements multiple topics, posts, moderators, RSS feeds, localization, and most all the niceties you've gotten to know on the Beast forums.

Srinivas M.V.
  • 6,508
  • 5
  • 33
  • 49
1

Spree - open source e-commerce solution for Ruby on Rails

NARKOZ
  • 27,203
  • 7
  • 68
  • 90
0

ruote - Work flow Engine in Rails

Srinivas M.V.
  • 6,508
  • 5
  • 33
  • 49