Ruby on Rails
Ruby on Rails (often just "Rails") is a server-side web application framework written in Ruby that emphasizes convention over configuration and the Model-View-Controller (MVC) pattern for building database-backed web apps quickly.
Definition
Ruby on Rails (often just "Rails") is a server-side web application framework written in Ruby that emphasizes convention over configuration and the Model-View-Controller (MVC) pattern for building database-backed web apps quickly.
Overview
Rails was created by David Heinemeier Hansson, extracted from the Basecamp project management tool, and released publicly in 2004. It popularized the idea that a framework's sensible defaults — "convention over configuration" — could eliminate huge amounts of boilerplate compared to the heavier Java frameworks common at the time. Rails organizes applications into Models, Views, and Controllers, using a folder structure and naming convention that lets it auto-wire routing, database migrations, and model associations with very little explicit setup. Its ActiveRecord ORM maps database tables to Ruby classes and rows to objects, and Rails ships with generators and scaffolding that can produce a working CRUD resource — model, controller, views, and migration — from a single command, along with built-in support for background jobs (Active Job) and WebSockets (Action Cable). Rails powered the early technology stacks of companies including GitHub, Shopify, and Airbnb, and its "convention over configuration" philosophy went on to influence later frameworks in other languages. It's typically paired with PostgreSQL as the primary database, deployed inside Docker containers, and built on top of the Ruby language itself.
Key Features
- Convention-over-configuration philosophy that minimizes boilerplate
- Model-View-Controller (MVC) architecture with the ActiveRecord ORM
- Scaffolding and generators for rapid CRUD resource creation
- Built-in database migrations for versioned schema changes
- Active Job and Action Cable for background jobs and WebSockets
- Strong testing conventions (RSpec, Minitest) baked into the culture