Guides.rubyonrails.org

These are the new guides for Rails 5.0 based on v5.0.7.2. These guides are designed to make you immediately productive with Rails, and to help you understand how all of the pieces fit together.

Rails Guides are also available for Kindle. Guides marked with this icon are currently being worked on and will not be available in the Guides Index menu. While still useful, they may contain incomplete information and even errors. You can help by reviewing them and posting your comments and corrections.

Start Here

Everything you need to know to install Rails and create your first application.

Models

This guide will get you started with models, persistence to database, and the Active Record pattern and library.

This guide covers how you can use Active Record migrations to alter your database in a structured and organized manner.

This guide covers how you can use Active Record validations.

This guide covers how you can use Active Record callbacks.

This guide covers all the associations provided by Active Record.

This guide covers the database query interface provided by Active Record.

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 and introduces a few of the more common view helpers.

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.

Guide to using built-in Form helpers.

Controllers

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.

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.

Digging Deeper

This guide documents the Ruby core extensions defined in Active Support.

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.

This guide describes how to use Action Mailer to send and receive emails.

This guide provides you with all you need to get started creating, enqueuing, and executing background jobs.

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.

This guide describes common security problems in web applications and how to avoid them with Rails.

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.

This guide covers the basic configuration settings for a Rails application.

This guide covers the command line tools provided by Rails.

This guide documents the asset pipeline.

This guide covers the built-in Ajax/JavaScript functionality of Rails.

This guide explains the internals of the Rails initialization process.

This guide documents how autoloading and reloading constants work.

This guide is an introduction to speeding up your Rails application with caching.

This guide explains how to use the instrumentation API inside of Active Support to measure events inside of Rails and other Ruby code.

This guide explains how to profile your Rails applications to improve performance.

This guide explains how to effectively use Rails to develop a JSON API application.

This guide explains how Action Cable works, and how to use WebSockets to create real-time features.

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.

This guide covers Rails integration with Rack and interfacing with other Rack components.

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).

This guide explains how to write a mountable engine.

Contributing to Ruby on Rails

Rails is not 'somebody else's framework.' This guide covers a variety of ways that you can get involved in the ongoing development of Rails.

This guide documents the Ruby on Rails API documentation guidelines.

This guide documents the Ruby on Rails guides guidelines.

Maintenance Policy

What versions of Ruby on Rails are currently supported, and when to expect new versions.

Release Notes

This guide helps in upgrading applications to latest Ruby on Rails versions.

Release notes for Rails 5.0.

Release notes for Rails 4.2.

Release notes for Rails 4.1.

Release notes for Rails 4.0.

Release notes for Rails 3.2.

Release notes for Rails 3.1.

Release notes for Rails 3.0.

Release notes for Rails 2.3.

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 in the rubyonrails-docs mailing list.

"Rails", "Ruby on Rails", and the Rails logo are trademarks of David Heinemeier Hansson. All rights reserved.