The framework that popularized convention over configuration.
Ruby on Rails (usually just "Rails") is a web framework for the Ruby language, released in 2004 by David Heinemeier Hansson. Its core idea is convention over configuration: if you follow Rails' naming and folder conventions, an enormous amount of wiring — database mapping, routing, form handling — just works without you writing config for it. It popularized the modern idea of scaffolding a working app in minutes, an approach later frameworks like Laravel and Django borrowed from directly.
Rails is a strong choice when you want to move from idea to working product fast — it's still used by companies like Shopify, GitHub (originally), and Basecamp precisely because it gets a full-featured web app running with very little boilerplate. The trade-off today is ecosystem size: Ruby's job market and hiring pool have shrunk relative to Node.js and Python, and beginner tutorials are less abundant than they were a decade ago. If job prospects or community size are your top priority, Node or Python are safer bets.
User.find(1) just works once a
users table exists.
# app/models/post.rb
class Post < ApplicationRecord
validates :title, presence: true
end
# app/controllers/posts_controller.rb
class PostsController < ApplicationController
def index
@posts = Post.all
end
end
No SQL, no manual serialization — Post.all already
knows how to talk to the database because of the table name and
class name matching Rails' conventions.
rails new my_app.
rails server, open localhost:3000,
and generate a resource with rails generate scaffold
Post title:string body:text to see the full stack
generated for you.
rails db:migrate to apply the generated
migration, then visit /posts to see a working
CRUD interface.