Get 10% OFF hosting service at AlexHost with this voucher code: L59CD15KZ9Y6

List of useful gems to build Ruby on Rails app

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:

  • Ruby 2.6.x

  • Rails 5.2.x or at least Rails 3.2.x version

rails_admin

Homepage: https://rubygems.org/gems/rails_admin

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.

devise

Homepage: https://rubygems.org/gems/devise

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.

puma

Homepage: https://rubygems.org/gems/puma

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.

pg

Homepage: https://rubygems.org/gems/pg

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.

bootstrap

Homepage: https://rubygems.org/gems/bootstrap

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.

byebug

Homepage: https://rubygems.org/gems/byebug

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.

ckeditor

Homepage: https://rubygems.org/gems/ckeditor

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.

metamagic

Homepage: https://rubygems.org/gems/metamagic

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.

font_awesome5_rails

Homepage: https://rubygems.org/gems/font_awesome5_rails

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.

jquery-rails

Homepage: https://rubygems.org/gems/jquery-rails

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

sitemap_generator

Homepage: https://rubygems.org/gems/sitemap_generator

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.

paperclip

Homepage: https://rubygems.org/gems/paperclip

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.

nokogiri

Homepage: https://rubygems.org/gems/nokogiri

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.

will_paginate

Homepage: https://rubygems.org/gems/will_paginate

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.

cocoon

Homepage: https://rubygems.org/gems/cocoon

Latest update on October 18, 2018

Usage: It’s useful when you need to have a dynamic nested form inside your Rails application. It works nicely with Bootstrap form. Before using this gem, you can try the demo project here. So, instead of writing Javascript by yourself to implement a feature to add a new field dynamically, you better use this gem.

geocoder

Homepage: https://rubygems.org/gems/geocoder

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.

Final words

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.


Categories: Ruby on Rails  

Tags: ruby on rails