Ruby on Rails is an open source full-stack web application framework written in Ruby. It follows the popular MVC framework model and is known for its "convention over configuration" approach to application development.
Ruby on Rails is an open-source full-stack web application framework created by David Heinemeier Hansson (DHH) in 2004 using the Ruby programming language. It is an optimized framework aimed at programmer's happiness and providing sustainable productivity by making use of CoC (Convention over Configuration), DRY (Don't Repeat Yourself), Active Record Pattern and REST (Representational State Transfer) philosophies.
It is based on the MVC Architectural Design Pattern, which separates web applications into three different modules:
- Model
- View
- Controller
This helps to isolate business logic from presentation and makes code maintenance significantly easier as well as more flexible.
Ruby is the programming language used by Ruby on Rails
The ruby-on-rails tag is for questions related to the Ruby on Rails framework. This tag is particularly appropriate for questions about:
- Rails MVC patterns
- Rails objects
- Rails methods
- Rails gems
- Rails views
- Rails routes
- Rails plugins
- ActiveRecord object-relational mapping (ORM)
Questions about Ruby on Rails should not be tagged with [tag: ruby] unless the question is about the Ruby language in general, its syntax and libraries, or other questions not specific to the Ruby on Rails MVC framework.
Please see the Ruby tag wiki for more information about when it's appropriate to tag a question with ruby instead of ruby-on-rails.
Specific Versions
Questions regarding specific versions of Ruby on Rails can also be asked on the appropriate tags:
ruby-on-rails-2 ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2 ruby-on-rails-4 ruby-on-rails-4.1 ruby-on-rails-4.2 ruby-on-rails-5 ruby-on-rails-5.1 ruby-on-rails-5.2 ruby-on-rails-6 ruby-on-rails-6.1 ruby-on-rails-7
Where to start
- Getting Started with Rails
- Rails Guides
- Rails Tutorial
- Rails for Zombies
- Rails Screencasts
- A Guide to Testing Rails Applications
Interactive Ruby
- Codecademy—Learn the fundamentals of Ruby and dynamic programming
Online Courses
- Web Application Architectures—Learn how to build and deploy modern web application architectures—applications that run over the Internet, whereas in the "cloud" technology, deploy it using a browser as the user interface. We're going to learn about web apps through the Ruby on Rails framework. Rails is a framework for creating web applications that are built on top of the Ruby programming language.
Resources
- Riding Rails official blog
- API documentation
- Collaborative API documentation
- Rails Source Code
- Rails GitHub Issue Tracker
- Ruby on Rails Tutorial: Learn Rails By Example
- Community
- Ruby on Rails—Wikipedia
- Rails for Zombies—Code School
- Railscasts—Ruby on Rails screencasts
- Go Rails—Ruby on Rails screencasts
- Curated List Of All the resources from beginner to expert- Github Repo for all the resources at one place
Books
- Learn Web Development with Rails
- Agile Web Development with Rails
- Everyday Scripting with Ruby
- Metaprogramming Ruby: Program Like the Ruby Pros
- Programming Ruby 1.9 & 2.0: The Pragmatic Programmers' Guide
- Ruby Best Practices
- Ruby In A Nutshell
- The Ruby Programming Language
- Learn Ruby the Hard Way (Zed Shaw)
- API on Rails
- Everyday Rails Testing with RSpec
- Deploying Rails: Automate, Deploy, Scale, Maintain, and Sleep at Night (The Facets of Ruby)
When asking Ruby on Rails questions, you should:
- Read the API documentation carefully and search Stack Overflow for duplicates.
- Mention the Ruby and the Ruby on Rails version related to the issue.
- Frame the question in a simple way, add code snippets if that could help the community to understand the problem better.
- Tag the question with appropriate tags so that there will be more visits to the page.
- Supply error information, if any—console log info is best.
Contributing to the community
- If you can solve the problem, spend some time answering the question.
- Upvote and downvote appropriately to rate and maintain the quality of questions and answers posted.
Contributing to Ruby on Rails
There are hundreds of people around the world who contribute to Ruby on Rails. You can start by following this guide.