Start Here
- Getting Started with Rails
-
Everything you need to know to install Rails and create your first application.
Models
- Active Record Basics
-
This guide will get you started with models, persistence to database, and the Active Record pattern and library.
- Active Record Migrations
-
This guide covers how you can use Active Record migrations to alter your database in a structured and organized manner.
- Active Record Validations
-
This guide covers how you can use Active Record validations.
- Active Record Callbacks
-
This guide covers how you can use Active Record callbacks.
- Active Record Associations
-
This guide covers all the associations provided by Active Record.
- Active Record Query Interface
-
This guide covers the database query interface provided by Active Record.
- Active Model Basics
- Work in progress
-
This guide covers the use of model classes without Active Record.
Views
- Action View Overview
- Work in progress
-
This guide provides an introduction to Action View.
- Layouts and Rendering in Rails
-
This guide covers the basic layout features of Action Controller and Action View, including rendering and redirecting, using content_for blocks, and working with partials.
- Action View Helpers
- Work in progress
-
This guide introduces a few of the more common view helpers.
- Action View Form Helpers
-
Guide to using built-in Form helpers.
Controllers
- Action Controller Overview
-
This guide covers how controllers work and how they fit into the request cycle in your application. It includes sessions, filters, and cookies, data streaming, and dealing with exceptions raised by a request, among other topics.
- Rails Routing from the Outside In
-
This guide covers the user-facing features of Rails routing. If you want to understand how to use routing in your own Rails applications, start here.
Other Components
- Active Support Core Extensions
-
This guide documents the Ruby core extensions defined in Active Support.
- Action Mailer Basics
-
This guide describes how to use Action Mailer to send emails.
- Action Mailbox Basics
- Work in progress
-
This guide describes how to use Action Mailbox to receive emails.
- Action Text Overview
- Work in progress
-
This guide describes how to use Action Text to handle rich text content.
- Active Job Basics
-
This guide provides you with all you need to get started creating, enqueuing, and executing background jobs.
- Active Storage Overview
-
This guide covers how to attach files to your Active Record models.
- Action Cable Overview
-
This guide explains how Action Cable works, and how to use WebSockets to create real-time features.
Digging Deeper
- Rails Internationalization (I18n) API
-
This guide covers how to add internationalization to your applications. Your application will be able to translate content to different languages, change pluralization rules, use correct date formats for each country, and so on.
- Testing Rails Applications
-
This is a rather comprehensive guide to the various testing facilities in Rails. It covers everything from 'What is a test?' to Integration Testing. Enjoy.
- Securing Rails Applications
-
This guide describes common security problems in web applications and how to avoid them with Rails.
- Debugging Rails Applications
-
This guide describes how to debug Rails applications. It covers the different ways of achieving this and how to understand what is happening "behind the scenes" of your code.
- Configuring Rails Applications
-
This guide covers the basic configuration settings for a Rails application.
- The Rails Command Line
-
This guide covers the command line tools provided by Rails.
- The Asset Pipeline
-
This guide documents the asset pipeline.
- Working with JavaScript in Rails
- Work in progress
-
This guide covers the built-in Ajax/JavaScript functionality of Rails.
- The Rails Initialization Process
- Work in progress
-
This guide explains the internals of the Rails initialization process.
- Autoloading and Reloading Constants (Zeitwerk Mode)
-
This guide documents how autoloading and reloading constants work (Zeitwerk mode).
- Autoloading and Reloading Constants (Classic Mode)
-
This guide documents how autoloading and reloading constants work (Classic mode).
- Caching with Rails: An Overview
-
This guide is an introduction to speeding up your Rails application with caching.
- Active Support Instrumentation
- Work in progress
-
This guide explains how to use the instrumentation API inside of Active Support to measure events inside of Rails and other Ruby code.
- Using Rails for API-only Applications
-
This guide explains how to effectively use Rails to develop a JSON API application.
- Active Record and PostgreSQL
- Work in progress
-
This guide covers PostgreSQL specific usage of Active Record.
- Multiple Databases with Active Record
- Work in progress
-
This guide covers using multiple databases in your application.
Extending Rails
- The Basics of Creating Rails Plugins
- Work in progress
-
This guide covers how to build a plugin to extend the functionality of Rails.
- Rails on Rack
-
This guide covers Rails integration with Rack and interfacing with other Rack components.
- Creating and Customizing Rails Generators & Templates
-
This guide covers the process of adding a brand new generator to your extension or providing an alternative to an element of a built-in Rails generator (such as providing alternative test stubs for the scaffold generator).
- Getting Started with Engines
- Work in progress
-
This guide explains how to write a mountable engine.
- Threading and Code Execution in Rails
- Work in progress
-
This guide describes the considerations needed and tools available when working directly with concurrency in a Rails application.
Contributions
- Contributing to Ruby on Rails
-
Rails is not "someone else's framework". This guide covers a variety of ways that you can get involved in the ongoing development of Rails.
- API Documentation Guidelines
-
This guide documents the Ruby on Rails API documentation guidelines.
- Guides Guidelines
-
This guide documents the Ruby on Rails guides guidelines.
Policies
- Maintenance Policy
-
What versions of Ruby on Rails are currently supported, and when to expect new versions.
Release Notes
- Upgrading Ruby on Rails
-
This guide helps in upgrading applications to latest Ruby on Rails versions.
- Version 6.1 - May 2020
- Work in progress
-
Release notes for Rails 6.1.
- Version 6.0 - August 2019
-
Release notes for Rails 6.0.
- Version 5.2 - April 2018
-
Release notes for Rails 5.2.
- Version 5.1 - April 2017
-
Release notes for Rails 5.1.
- Version 5.0 - June 2016
-
Release notes for Rails 5.0.
- Version 4.2 - December 2014
-
Release notes for Rails 4.2.
- Version 4.1 - April 2014
-
Release notes for Rails 4.1.
- Version 4.0 - June 2013
-
Release notes for Rails 4.0.
- Version 3.2 - January 2012
-
Release notes for Rails 3.2.
- Version 3.1 - August 2011
-
Release notes for Rails 3.1.
- Version 3.0 - August 2010
-
Release notes for Rails 3.0.
- Version 2.3 - March 2009
-
Release notes for Rails 2.3.
- Version 2.2 - November 2008
-
Release notes for Rails 2.2.
Feedback
You're encouraged to help improve the quality of this guide.
Please contribute if you see any typos or factual errors. To get started, you can read our documentation contributions section.
You may also find incomplete content or stuff that is not up to date. Please do add any missing documentation for master. Make sure to check Edge Guides first to verify if the issues are already fixed or not on the master branch. Check the Ruby on Rails Guides Guidelines for style and conventions.
If for whatever reason you spot something to fix but cannot patch it yourself, please open an issue.
And last but not least, any kind of discussion regarding Ruby on Rails documentation is very welcome on the rubyonrails-docs mailing list.