Дабы не потерялось в теме про Ruby on Rails вынесу список популярных и полезных gem's в отдельную тему и со временем буду пополнять список если не будет лень
Frameworks
Ruby on Rails
https://github.com/rails/rails
https://github.com/rails
http://rubyonrails.org
В комментариях думаю не нуждается, один из самых известных web фреймворков.
Sinatra
https://github.com/sinatra/sinatra
https://github.com/sinatra
http://sinatrarb.com
Простой, легкий и быстрый web фреймворк. В основном рекомендуется использовать если у вас в приложении меньше 13 правил роутинга.
Padrino
https://github.com/padrino/padrino-framework
https://github.com/padrino
http://padrinorb.com
Так же простой и легкий web фреймворк. Является "расширенной" версией Sinatra. Попытка сделать из быстрой синатры более дружелюбный фреймворк для рельсовика.
ORM
DataMapper
https://github.com/datamapper/dm-core
https://github.com/datamapper
http://datamapper.org
Является главным конкурентом ActiveRecord используемом в Rails. Имеет огромную кучу адаптеров к БД разработанных community. Пожалуй описывать разницу не буду, на данный момент не являюсь спецом в нем. Лучше вам самим попробовать и расказать
MongoId
https://github.com/mongoid/mongoid
https://github.com/mongoid
http://mongoid.org
ORM для доступа к MongoDB, активно разрабатывается (и соответственно имеет достаточно багов) и активно юзается в новых проектах.
MongoMapper
https://github.com/jnunemaker/mongomapper
http://mongomapper.com
Первый популярный адаптер к MongoDB, юзается в многих проектах на Rails и MongoDB ( к примеру posterous ). На данный момент разрабатывается менее активно чем MongoId и для запуска на рельсах надо вписывать ручками настройки. Хотя рефакторинг ведется. Есть проблемы с поддержкой devise (есть отдельные плагины, но не очень удобно) и есть некоторые ограничения. Вообще в сети достаточно материалов сравнения mongomapper и mongoid.
Authentication
Devise
https://github.com/plataformatec/devise
Пожалуй самый популярный gem для аутентификации пользователей. Имеет хорошую интеграцию с Rails, довольно много дополнительных gem's для расширения функциональности, поддерживает ActiveRecord и MongoId из коробки и остальные ORM поддерживаются сторонними разработчиками. Практически из коробки дает возможности: регистрации, аутентификации через форму и token, восстановления пароля, логгирования аутентификаций, подтверждения регистрации по email, omniauth.
Sorcery
https://github.com/NoamB/sorcery
Быстро набирает популярность и часто становится заменой для Devise, в остальном читайте доку)
Authlogic
https://github.com/binarylogic/authlogic
Один из первых серьезных gem's для аутентификации. Более простой чем Devise и необходимо допиливать некоторые моменты (такие как фильтры и доступ к текущей сессии, которые в Devise есть из коробки). Однако для многих это еще и лучше. Как по мне на данный момент приближается к состоянию когда его перестанут разрабатывать, Devise стал дефакто стандартом.
Uploaders
Paperclip
https://github.com/thoughtbot/paperclip
В принципе подходит для загрузки любых типов файлов, но изначально разрабатывался и основное назначение это загрузка и обработка изображений на которую он и заточен. На данный момент уступает свою популярность, хотя раньше у него не было конкурентов
Carrierwave
https://github.com/jnicklas/carrierwave
Главный конкурент Paperclip и скорее всего станет (если уже не стал) "мейнстримом" аплоадеров. Основное преимущество перед paperclip это более расширенная настройка аплоадинга, аплоадер описывается в отдельном от модели файле. Позволяет удобно использовать обработку файлов в различные моменты. Есть возможность писать свои "процессоры" для обработки. По умолчанию идет с поддержкой RMagick и MiniMagick позволяющим обрабатывать изображения и pdf. Есть поддержка версионинга файлов. Тоесть у вас есть поле модели с именем avatar, она в полном размере скажем 500x500 пикселей, что много для превьюшек и аватарок возле постов в чатике, вы без проблем добавляете в аплоадер версию thumb и ресайзите ее до 50x50. После чего доступ к файлу будет как avatar.thumb. Есть вложенность версий.
Плюшки
InheritedResources
https://github.com/josevalim/inherited_resources
Один из самых полезных гемов для быстрой разработки, за год активной разработки у меня не было ни одного проекта где бы не использовался IR в той или иной мере. Основное назначение, это максимально уменьшить количество кода в контроллере. Для обычных ресурсов определяет CRUD операции, все что вам нужно для этого сделать это прописать в контроллере inherit_resource или унаследовать контроллер от InheritedResources::Base. Вы получаете почти те же actions которые были бы сгенерированы скаффолдом не написав и не сгенерировав ни одной строчки кода. Можно ограничивать экшны с помощью хелпера actions к примеру если вам нужен только index метод, то стоит написать action :index и при попытке вызвать другие actions (к примеру new) будет выброшено исключение. К тому же IR генерирует реляционную цепочку вызовов и вы можете переопределять ее начало и конец. К примеру если вам нужно, что бы все ресурсы в текущем контроллере принадлежали текущему пользователю, то нужно создать метод begin_of_association_chain который вернет текущего пользователя. При вызове методов new, show и т.д. ресурс будет выбираться не только по id, но еще и по связи с текущим пользователем.
Ну и еще одна прекрасная фишка это связи контроллеров как в моделях. Тоесть если у вас есть комментарии и они должны принадлежать какому либо посту, то в контроллере комментариев мы пишем belongs_to :post и получаем хелпер parent который указывает на пост которому принадлежит комментарий (или комментарии), это опять же избавляет вас от ручной обработки всех этих ситуаций. У хелпера belongs_to есть много вариантов и есть поддержка полиморфных связей. Вообще документация вполне нормальная по нему. Но в некоторых особых случаях бывает использовать его не очень удобно, но когда вы столкнетесь с подобными случаями ваш опыт уже будет позволять решать такие проблемы
Tests
Rspec
https://github.com/rspec/rspec
https://github.com/rspec
Думаю все слышали про UnitTest, в руби они тоже есть и в рельсах генерируются по умолчанию, но многим не очень нравится технология юнит тестов и Rspec прекрасная замена UnitTest, хотя имеет достаточно противников) Основная фишка "читаемые" тесты. Есть много мета-приколов, но описывать все это очень сложно, лучше купить Rspec Book и прочитать
Capybara
https://github.com/jnicklas/capybara
Тесты, как известно, бывают в web проектах нескольких видов, это тести моделей, тесты контроллеров, тесты роутеров, тесты вьюшек, тесты.. аплоадеров (если вы используете Carrierwave) и requests тесты, иначе называемые интеграционными. Интеграционка в web проектах довольно удобная вещь позволяющая тестировать то, как пользователь видит сайт прокликивая ссылки, кнопки, формы и проверяя реакцию, диалоги и прочее. В принципе сегодня мало кто тестит вьюшки, так как это не совсем правильно и этим занимается интеграционка. Capybara предоставляет удобный интерфейс для доступа к вебдрайверам как selenium, webkit, etc. При написании теста вы описываете действия которые должен делать пользователь. К примеру вы описываете, как он заходит на главную страницу, регистрируется, аутентифицируется, жмет кнопку "new post", видит новый popup с формой ввода поста, заполняет его данными и отправляет форму, после чего окно закрывается, а на странице появляется пост. Представьте, что вам нужно сделать небольшое изменение в контроллере, после этого нужно все прокликать, что бы работало, вручную это долго и не очень удобно, особенно когда изменяется код который может неожиданно повлиять на косвенно связанные действия. Подобные тесты решают такие проблемы, а в связке с CI позволяют довести процесс до совсем уж автоматизма.
Cucumber
https://github.com/cucumber/cucumber
https://github.com/cucumber
Этакая понтовая надстройка над rspec, делает написание тестов возможным практически любому человеку, так как тесты пишутся на английском языке в текстовом файле просто с определенным форматированием и требованиями. "Практически любому", потому что фичи которые опишет в таких тестах пользователь нужно еще и написать. Вообще популярно у совсем помешанных на тестах людей. Применяется для интеграционных тестов, а значит в вебе это просто надстройка над capybara и применение ее довольно спорно. Хотя в некоторых командах такие фичи может писать project manager, который(ая) вообще не шарит в кодинге, ее задача обеспечение моста между девами и заказчиком, но вот писать почти на чистом инглише фичи для интеграционки поручить можно 
в devise
слишком много недоработок в 3 рельсах
а вот аутологик стал без проблем
Layt, глупость. Работаю только с Devise и с rails 3.*/4.* - никаких проблем на нескольких десятках проектов.
09 Фев 2012, 13:28san, наверн только у меня
так наверн неправильно ставлю из за недостатка опита