6 Best Ruby on Rails Books in 2023

Rails is one of many web frameworks in the world of app programming and web development. Rails framework includes collections of code libraries that give app and web developers readymade solutions for time-consuming and repetitive tasks like building menus, tables, or forms on a website. The Rails framework is written on top of the Ruby programming language.

To help programmers in selecting a well-structured and latest book for learning Rails, we have narrowed it down to the best Rails books. We have selected the latest books where content is focused on the latest changes and gives you the confidence to move forward.


Why Learn Rails?

In a rapidly changing software development world you need to be ALWAYS up-to-date with your knowledge - that’s a fact. I am going to give you some reasons why you should learn Rails.

  • Rails is beginner-friendly: Rails is so forgiving to beginners and easy to use, it is a great first framework to learn if you're interested in web development.

  • High in demand: Companies are willing to pay high amounts for people with the right skills. Rails is one of the most in-demand skill sets in the current market, resulting in higher salaries for the many opportunities up for grabs.

  • Active community: Rails community is very active and supportive. Frequent updates and new gems created by developers ensure that the applications created using the framework can be developed more easily and delivered more quickly. The active community regularly shares experiences and troubleshooting problems.

  • Easy maintenance: Rails is founded on two key tenets: DRY (Don't Repeat Yourself) and Convention Over Configuration. By not writing the same information over and over again, the code is more maintainable, more extensible, and less buggy. Moreover, Rails developers work from the shared common ground of Rails conventions.


What Rails Version to Study

As of this writing, Rails 7 is the most recent major version, released in December 2021. Because Rails 7 was released so recently, most books available cover Rails 6.

You can still get the benefits from learning rails by studying Rails 6. To catch up on changes from version 6 to 7, read Ruby on Rails 7.0 Release Notes.


What Makes The Best Rails Books?

Here are our criteria for the selection of the books:

  • Use clear, precise, and easy-to-understand language

  • Thoroughly teach and explain the latest Rails concepts

  • Contain exercises, examples, and practice problems for hands-on experience

  • Enable to hold the attention of readers

  • Well-structured and friendly toward self-taught programmers


Best Books on Rails

It's worth investing your time and effort to master Rails, especially if you have an upcoming project in the framework.

Here are the reviews on the best and latest Rails books for developers. The knowledge inside them is timeless and will teach you rules and schemes applicable in Rails.


1. Best book for hands-on learners: Ruby on Rails Tutorial

Though I’ve worked my way through many Rails books, this is the one that finally made me ‘get’ it. Everything is done very much ‘the Rails way.’

~ Ruby on Rails Tutorial, Foreword

Ruby on Rails Tutorial by Michael Hartl is a 2020 book that provides integrated tutorials not only for Rails, but also for the essential Ruby, HTML, CSS, and SQL. The book guides you through the development of three example applications of increasing sophistication.

The examples focus on the general principles of web development needed for virtually any kind of website. The author explains how each new technique solves a real-world problem. He then demonstrates it with bite-sized code that’s simple enough to understand.

Here's what you'll learn from the book:

  • Install and set up your Rails development environment, including a pre-installed integrated development environment (IDE) in the cloud

  • Go beyond generated code to truly understand how to build Rails applications from scratch

  • Learn testing and test-driven development (TDD)

  • Effectively use the Model-View-Controller (MVC) pattern

  • Structure applications using the REST architecture

  • Build static pages and transform them into dynamic ones

  • Master the Ruby programming skills all Rails developers need

  • Create high-quality site layouts and data models

  • Implement registration and authentication systems, including validation and secure passwords

  • Update, display, and delete users

  • Upload images in production using a cloud storage service

  • Implement account activation and password reset, including sending an email with Rails

  • Add social features and microblogging, including an introduction to Ajax

  • Record version changes with Git and creates a secure remote repository at GitHub

The book is divided into fourteen chapters:

  • Chapter 1 helps you to get started with Development Environment and installing Rails

  • Chapter 2 guides you to make a Toy App

  • Chapter 3 talks about Static Pages

  • Chapter 4 covers Rails-Flavored Ruby

  • Chapter 5 talks about adding some Structure and Layout Links

  • Chapter 6 talks about Modeling Users

  • Chapter 7 covers Sign Up

  • Chapter 8 talks about Basic Login

  • Chapter 9 covers Advanced Login

  • Chapter 10 talks about Updating, Showing and Deleting Users

  • Chapter 11 covers Account Activation

  • Chapter 12 talks about Password Reset

  • Chapter 13 covers User Microposts

  • Chapter 14 talks about Following Users

The book gives you both theory and practice. If you want to read just one book and feel like a Rails master by the end of it, this book is for you!


2. Best book for completionists: Beginning Rails 6: From Novice to Professional

The goal of this book is to give you a thorough and complete understanding of how to build dynamic web applications with Rails. This means more than just shwoing you how to use the specific features and facilities of the framework, and more than just giving you a working knowledge of the Ruby language. Rails is quite a bit more than just another tool: it represents a way of thinking.

~ Beginning Rails 6

Beginning Rails 6: From Novice to Professional by Brady Somerville, Adam Gamble, and Cloves Carneiro gently guide you through designing your application.

You'll learn about writing tests for the application and then writing the code to make your application work as expected.

The book guides you to have a Rails 6 application built and deployed to the web.   After reading the book, you'll be able to:

  • Create Ruby on Rails 6 web applications from the bottom up

  • Gain the basics of the Ruby programming language

  • Combine all the components of Rails to develop your own web applications 

  • Apply TDD to make sure your application works exactly as you expect  

  • Use Git source control and best practice techniques to create applications like a pro

After reading and using this book, you'll have the know-how and the freely available source code to get started with your own Rails-based web development.  


3. Best book for step-by-step learners: Agile Web Development with Rails 6

The content in this book has been developed in consultation with the Rails core team. Not only is the code you’ll see in this book tested against each release of Rails, but the converse is also true: Tarils itself is tested agains the code in this book and won’t be released until those tests pass.

~ Agile Web Development with Rails 6, preface

Agile Web Development with Rails 6 by Sam Ruby, David Bryant Copeland, and Dave Thomas is completely updated for Rails 6 and Ruby 2.6, with information on system testing, Webpack, and advanced JavaScript. If you’re new to Rails, you’ll get step-by-step guidance. 

The book starts with a step-by-step walkthrough of building a real application, and in-depth chapters look at the built-in Rails features. The book is divided into three parts and twenty-three chapters.

Part 1: Getting Started

  • Installing Rails

  • Instant Gratification

  • The Architecture of Rails Applications

  • Introduction to Ruby

Part 2: Building an Application

  • The Depot Application

  • Task A: Creating the Application

  • Task B: Validation and Unit Testing

  • Task C: Catalog Display

  • Task D: Cart Creation

  • Task E: A Smarter Cart

  • Task F: Add a Dash of Ajax

  • Task G: Check Out!

  • Task H: Entering Additional Payment Details excerpt

  • Task I: Sending Emails and Processing Payments Efficiently

  • Task J: Logging In

  • Task K: Internationalization

  • Task L: Receive Emails and Respond with Rich Text

Part 3: Rails in Depth

  • Finding Your Way Around Rails excerpt

  • Active Record

  • Action Dispatch and Action Controller

  • Action View

  • Migrations

  • Customizing and Extending Rails

This book is well organized and extremely well written. The content in this book has been developed in consultation with the Rails core team. Get this book without hesitation if you want to learn Rails.


4. Best book for beginners: Rails: Novice to Ninja: Build Your Own Ruby on Rails Website

I love writing and I love Rails, so this opportunity [to write this book] was a no-brainer. Throughout the process, I ahve remembered why Rails is such a paragon of productivity, and I’ve also discovered much I didn’t know about the framework.

~ Rails: Novice to Ninja, preface

Rails: Novice to Ninja is an easy-to-follow, practical, and fun 2016 guide to Ruby on Rails for beginners. The book covers all you need to get up and running a fully-featured web application.

Note that this book covers Rails 5. If you’re using a more recent version, catch up on the major releases.

The book is divided into twelve chapters and includes the following topics:

  • Chapter 1 gives you an introduction to Ruby on Rails

  • Chapter 2 guides you to get started

  • Chapter 3 introduces Ruby

  • Chapter 4 talks about Rails Revealed

  • Chapter 5 covers Models, Views, and Controllers

  • Chapter 6 covers Helpers, Forms, and Layouts

  • Chapter 7 covers Ajax and Turbolinks

  • Chapter 8 talks about Protective Measures

  • Chapter 9 covers some advanced topics

  • Chapter 10 covers Rails Plugins

  • Chapter 11 covers Debugging, Testing, and Benchmarking

  • Chapter 12 covers Deployment and Production Use

As you'll build the app, you'll gain valuable experience in using Rails features such as user authentication, session cookies, and automated testing. The book finishes with chapters on debugging, benchmarking, and deployment to a live web server.


5. Best book for serious learners: Learn Rails 6: Accelerated Web Development with Ruby on Rails

Learn Rails 6: Accelerated Web Development with Ruby on Rails by Adam Notodikromo teaches modern engineering practices including git-flow, containerization, debugging, testing, and deployment. Along the way, you’ll see how to build a social network application and then deploy it on a cloud provider.  

After reading the book, you'll be able to:

  • Use the Ruby on Rails 6 web development framework

  • Integrate Docker with your Ruby on Rails code

  • Apply software engineering techniques to learning the Rails framework

  • Design, build and deploy a social networking application to the Amazon cloud

After using this book, you'll be able to effectively build and deploy your Rails application to the cloud. The book is recommended for beginners with at least some prior programming experience.


6. Best book for front-end developers: Modern Front-End Development for Rails: Hotwire, Stimulus, Turbo, and React

Although it’s primarily a server-side tool, Ruby on Rails offers a lot of support for client-side code. Rails version 6.1 has tools that help you interact with the JavaScript ecosystem to build an exceptional, front-end experience. In this book, you’ll learn how you can enhance the user experience of a standard Rails application using front-end tools from the Rails ecosystem (Hotwire, Stimulus, Turbo, and Webpacker) and tools from the JavaScript ecosystem (webpack, TypeScript, and React) to create a great Rails-based app.

~ Modern Front-End Development for Rails

Modern Front-End Development for Rails is a June 2021 book by Noel Rappin, which teaches everything you need to know about the Rails frontend world. The book helps to use the Rails 6 tools and simplify the complex JavaScript ecosystem.

As a front-end developer myself who has had to work in React, I might seek out this book rather than the others because my job does not require me to be concerned with server-side rendering.

After reading the book, you'll be able to:

  • Learn the basics of webpack, Webpacker, and TypeScript, and add pizazz to your application. 

  • Structure your web application to best manage your state. 

  • Learn how to interact with data on the server while still keeping the user experience interactive. 

  • Use the type system in TypeScript to expand on JavaScript and help prevent error conditions. 

  • Debug and test your front-end application with tools specific to each framework.

This book is divided into four parts and sixteen chapters. The first part talks about the basic introduction to installing the front-end Rails tools. The second part gives a deeper look at TypeScript, webpack, and Webpacker. The third part talks about managing the state of the data in your client-side application. The fourth part is about validating your code.

Part I. Getting Started

  • Chapter 1 talks about getting started with Client-Side Rails

  • Chapter 2 covers Hotwire and Turbo

  • Chapter 3 talks about Stimulus

  • Chapter 4 covers React 

  • Chapter 5 talks about Cascading Style Sheets

Part II. Going Deeper

  • Chapter 6 covers TypeScript

  • Chapter 7 covers webpack

  • Chapter 8 covers Webpacker

Part III: Managing Servers and State

  • Chapter 9 guides you about talking to the Server

  • Chapter 10 covers Immediate Communication with ActionCable

  • Chapter 11 covers managing state in Stimulus Code

  • Chapter 12 talks about managing state in React

  • Chapter 13 talks about using Redux to Manage State

Part IV: Validating Your Code

  • Chapter 14 talks about validating code with Advanced TypeScript

  • Chapter 15 discusses testing with Cypress

  • Chapter 16 talks about more testing and troubleshooting

By the end of the book, you’ll be able to structure your code for different levels of client-side needs.


More Ways to Learn Rails

Books are not enough for you? There are also a few online courses on the list that let you learn Rails. Let's have a look at them:

Go ahead and grab a book or sign up for an online course, and we guarantee that you will reap a big from the skills.

Miranda Limonczenko

Miranda is the founder of Books on Code, with a mission to bring book-lover culture to programmers. Learn more by checking out Miranda on LinkedIn.


4 Best Books on Observability in 2023


7 Best Books on Software Architecture and Design in 2023