Here’s the list of useful gems to build Ruby on Rails app. This list may help you to start with a new Rails app. I used most of the gems listed below and I only listed the gems that are still maintained.
The list I built here is assuming you’re using the latest Ruby on Rails stable version:
Rails 5.2.x or at least Rails 3.2.x version
Latest update on September 23, 2018
Usage: To help you quickly build an admin dashboard for your Rails application. Though it’s not as rich as the WordPress admin dashboard, it really saves your time a lot. You can have a complete admin dashboard for your Rails application after installing this gem.
Latest update on March 26, 2019
Usage: To help you build registration and sign in feature of your Rails app. Almost all of the Rails projects I am working on always use this gem. It even works nicely with Oauth like allowing the user to sign in or register using their Facebook or Twitter account.
Latest update on March 19, 2019
Usage: One of the most of Rails app server I used besides Thin and Unicorn. It supports multiple workers which improve Rails ability to handle more concurrent requests.
There is also the gem named puma_worker_killer which will help you to automatically restart one or more Puma clusters based on available max RAM.
That gem really helped a lot to handle the increased memory usage after your app run on Puma on several hours.
Latest update on January 09, 2019
Usage: Give you an interface between your Ruby on Rails application and PostgreSQL database. Almost all of the projects I handle are using Postgre as its DBMS.
Latest update on February 13, 2019
Usage: Add the Bootstrap CSS framework to your Rails application. By installing this gem, you only need to add it to both applications.scss and applications.js file. There is no need to download the Bootstrap library and put it on your assets folder.
Latest update on March 18, 2019
Usage: As a Ruby debugger, with installing this gem, you can debug your Rails codes easily. Just put the “byebug” (without double quotes) anywhere you need to debug, on your Rails development mode.
Latest update on March 29, 2019
Usage: By installing this gem, you can include one of the most popular a WYSIWYG editor named CKEditor on your Rails application. So, you don’t need to download each of its libraries and put them on your assets folder.
Latest update on March 31, 2015
Usage: This gem helps you to define meta tags for each page inside your Ruby on Rails app. Because the owner did not update it since 2015, you should use it with extra caution. As I checked on the latest project I am working on, this gem is still working well with Ruby 2.6.3 along with Rails 5.2.3. So, it’s still safe to use it.
Latest update on March 25, 2019
Usage: Just like bootstrap and ckeditor gem above, this gem is also including the Font-Awesome 5 library to your Rails application. So, you can use their cool icons inside your Rails application easily. This because since Bootstrap 4, they did not bundle it with an icon library.
Latest update on April 18, 2018
Usage: This gem provides jQuery and jQuery-UJS for your Rails application. Though its homepage only says Rails 4+, I had tested it with Rails 5.1.4. So far, it’s working well. However, I haven’t tested it with Rails 5.2.x
Latest update on January 10, 2019
Usage: It will provide you with a rake task which you can call it with a scheduler like Heroku Scheduler to generate an XML sitemap for all of the pages inside the app. So, you can keep your sitemap updated automatically.
Latest update on July 27, 2018
Usage: This gem provides you the way to handle file uploads through ActiveRecord ORM. Only use this gem if you use Rails version that does not include ActiveStorage. I hear that the team behind this gem will deprecate it soon since the latest Rails application (5.2.x) won’t need it anymore.
Latest update on April 22, 2019
Usage: This gem will enable you to parse HTML or XML document easily. Then, you can search the document using XPath. If you need to build a scraper tool, you’ll need this gem to parse the scraped HTML or XML data.
Latest update on March 18, 2019
Usage: To create pagination for your data. This means you can render the data in paginated views using this gem. The gem also provides you with helpers to call on the view.
Personally, I prefer to use the kaminari gem than this gem. Because the author had not updated the kaminari since 2017, I had no choice but using this will_paginate.
Latest update on October 18, 2018
Latest update on January 23, 2019
Usage: To help you geocode the IP or street address and do the reverse operation. Usually, you will need Google Maps API key or any other API key provider to work with this gem.
I believe, there are still many other great gems I haven’t listed above. Therefore, if you don’t mind, please mention the gems you mostly used on your Ruby on Rails projects.
If they are not on the list yet, I’ll add it as soon as possible.