Using Enums in Ruby on Rails

For Rails developers, using enums with ActiveRecord is always a good choice when you have to manage the state of an object. For example, for an online shop, you may have three states of an order - i.e. received, dispatched and delivered. One option is to add three boolean fields in the database for received, dispatched and delivered, but this approach looks ugly. A cleaner approach is to add a single string column status that includes values of received, dispatched and delivered, then add three methods in the model file.

Authentication with Mobile Numbers in Rails using Devise

Many applications use mobile number authentication instead of email-based authentication. This article will discuss the technique to override default authentication behavior. Here are the steps to authenticate using a mobile number:

Sending SMS in Ruby on Rails Application using Twilio

This article will discuss how to send an sms in a Ruby on Rails application using Twilio.

Optimistic Locking vs Pessimistic Locking in Ruby on Rails

Locking in a database means that no two or more sessions can update the same record at the same time until the lock is released. In this article we will discuss two main types of locking in Ruby on Rails; Optimistic Locking and Pessimistic Locking.

Working with Custom Validations in Rails

This article will discuss a concept known as Custom Validations in Rails Active Record. There are two types of custom validations; Custom Validators and Custom Methods.

Understanding ActiveRecord Transactions

This article will discuss database transactions and how to use them in Ruby on Rails. Transaction in a database means the state of the database will only change if all the statements in a transaction block succeed, otherwise all the statements will roll back and no state change will occur.

Speeding up Rails Applications with Optimized Database Queries

This article will discuss the most basic technique to speed up a Rails application by optimizing database queries.

Searching made easy with pg_search gem in Ruby on Rails

This article will discuss how to make search functionality easier and faster in Ruby on Rails through a gem called pg_search. According to the official documentation:

Polymorphic Association in Ruby on Rails

This article will discuss Polymorphic Association, an important concept in Ruby on Rails.

Single Table Inheritance in Ruby on Rails

This article will discuss Single Table Inheritance in Ruby on Rails.

Understanding ActiveRecord Autosave Association

ActiveRecord AutosaveAssociation is a module that is used for saving the child objects if the parent is saved and deleting the child objects if they are marked for destruction. This article will demonstrate how this works.

Layouts in Ruby on Rails

Often there are situations where there are separate menus/layouts for admin and other pages. This article will discuss layouts in Ruby on Rails. To start:

Using delegate method in Ruby on Rails

This article will discuss a very useful method in Ruby on Rails - ActiveRecord, i.e. delegate. According to the documentation, delegate:

Hash methods every Ruby Developer should know

Hash is a very common data structure used by Ruby developers. This article will discuss some important hash methods every Ruby developer should know.

Array methods every Ruby developer should know

This article will discuss Ruby array methods every Ruby developer should know. These methods are each, map, select, reject, select!, reject!, compact and include?. This article will also discuss the comparison of these methods where applicable.

Passwordless Authentication in Ruby on Rails with Devise

With the increasing number of daily routine mobile/web applications people use, password management becomes an issue. Almost all applications now provide social login, but some people would prefer not to use that method.

Ruby: Safe Navigation Operator to the Rescue

When developing a Ruby on Rails application that involves a user having one address, and the address table having all the address values such address_line_1, address_line_2, etc., the details may need to be shown similar to this:

Adding Trix Editor in Ruby on Rails 6 applications

This article demonstrates adding ActionText to Rails applications. According to the official ActionText documentation:

Adding Tailwind CSS to Ruby on Rails 6 applications

Tailwind is a CSS framework that is quickly gaining popularity over other CSS frameworks. The reason for that, according to the creators of Tailwind:

Getting Bootstrap working with Webpack

Rails 6 introduced webpacker, which they encourage use of now over the legacy asset pipeline. This article explains how to get bootstrap, which is used by almost all applications, working with webpacker in Rails 6.

Customizing will_paginate Link Styles in Ruby on Rails

The will_paginate gem is useful in situations where you need to add paging support to a long list of results, such as an Orders list. By default, will_paginate looks a little rough without any styling love. Here are the most useful styling tricks to save you some time.

Social Login in Ruby on Rails with Devise and Google

Social login/registration options can make for a smoother user experience, so they are almost always integrated into Mintbit applications. This article explains how to add a login option through Google and the security measures required to keep your private keys secure in the environment.

Multitenant Rails Application using acts_as_tenant and Devise

There are many use cases for achieving multitenancy in a Rails application. Two of the best gems to use for this purpose are apartment and acts_as_tenant. Both work well and are commonly used. Here are some tips for using acts_as_tenant along with Devise, the most common user authentication gem, to create a multitenant Rails application

RSpec: Moving to Request Specs from Controller Specs

Mintbit always keeps an eye on changelogs from Ruby, Rails and many commonly used gems, and tries to follow the recommendations and avoid deprecations.

Rails Current Attributes: Usage, Pros and Cons

Rails introduced ActiveSupport::CurrentAttributes in version 5.2. Since its addition there has been a lot of discussion about it, with advocates both for and against it making valid points. The merits of ActiveSupport::CurrentAttributes actually depend heavily on how it is used.