---
title: Ruby & Rails
description: Ruby is an expressive object-oriented language and Rails its convention-over-configuration web framework. You will learn Ruby idioms, MVC, ActiveRecord and how to build and deploy a full web app quickly.
category: programming-tech
subcategory: programming-languages
difficulty: beginner, intermediate, advanced
url: /subject/ruby-on-rails
---

# Ruby & Rails

Ruby is an expressive object-oriented language and Rails its convention-over-configuration web framework. You will learn Ruby idioms, MVC, ActiveRecord and how to build and deploy a full web app quickly.

## Available Resources

3 Books • 1 Courses • 1 Websites

## Books

### 1. Eloquent Ruby, Second Edition

**Author:** Russ Olsen

Guide to writing idiomatic Ruby, updated for Ruby 3.4. It covers Ruby conventions for methods, classes, modules, collections and tests, then moves on to metaprogramming, domain-specific languages, and new chapters on pattern matching and concurrency. Covers the 'Ruby idioms' part of the topic note, which Rails-focused resources skip.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://pragprog.com/titles/eruby2/eloquent-ruby-second-edition/

**Tags:** ruby, idiomatic-ruby, metaprogramming, domain-specific-languages, pattern-matching, ruby-3

### 2. Practical Object-Oriented Design: An Agile Primer Using Ruby (2nd Edition)

**Author:** Sandi Metz

Covers object-oriented design in Ruby: single responsibility, managing dependencies, flexible interfaces, duck typing, inheritance, modules, composition and cost-effective tests. It works through one example that is refactored across the chapters. The standard answer on r/ruby and HN for 'how to write good Ruby'. It is about design rather than syntax, so it has not gone out of date. Fills the step from writing working Rails code to writing code that is easy to change.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/0134456475?tag=edmonddante07-20

**Tags:** object-oriented-design, ruby, duck-typing, dependency-management, refactoring, composition

### 3. Agile Web Development with Rails 8

**Author:** Sam Ruby, Dave Thomas

Book-length tutorial that builds a web store application in Rails 8, followed by a reference section on each Rails component. Covers Active Record, Action Cable, Hotwire, testing, the authentication generator, and deployment with Kamal 2 and Thruster.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://pragprog.com/titles/rails8/agile-web-development-with-rails-8/

**Tags:** rails-8, ruby-on-rails, active-record, hotwire, kamal, web-development

## Courses

### 1. The Odin Project: Full Stack Ruby on Rails Path

Free, open-source, project-based curriculum. The Ruby course (32 lessons, 15 projects) and Rails course (32 lessons, 11 projects) sit alongside databases, HTML/CSS and JavaScript, ending with portfolio apps you build and deploy yourself. Complements the Guides with a structured zero-to-hireable sequence and many graded projects, which the official docs do not provide.

**Difficulty:** Beginner | **Language:** English | **Price:** Free

**Link:** https://www.theodinproject.com/paths/full-stack-ruby-on-rails

**Tags:** ruby-on-rails, ruby, full-stack-development, project-based-learning, web-development

## Websites

### 1. Getting Started with Rails (Official Rails Guides)

**Author:** Rails Core Team

Canonical, free and current. Rewritten for Rails 8 and now walks through a complete app end to end, including auth and deployment, so it covers the topic note (MVC, ActiveRecord, build and deploy) directly. The official Rails 8.1 tutorial. Builds a small store app covering MVC, migrations, Active Record, routing, forms, authentication, Action Text, Active Storage, mailers, background jobs, Hotwire, testing and deployment with Kamal. The wider Guides cover each subsystem in depth.

**Difficulty:** Beginner | **Language:** English | **Price:** Free

**Link:** https://guides.rubyonrails.org/getting_started.html

**Tags:** ruby-on-rails, rails-8, mvc, active-record, hotwire, kamal

---

*This content is part of Dantes.io - Your Treasure Map to Knowledge*

*Curated by humans at Dantes.io. Personal study use welcome; republishing this curation requires permission (team@dantes.io).*

View this page online: https://dantes.io/subject/ruby-on-rails