Ruby on Rails: Web application framework with MVC architecture
Convention-driven Ruby framework for full-stack web applications.
Learn more about rails
Ruby on Rails is a web application framework written in Ruby that implements the Model-View-Controller architectural pattern for organizing application code. The framework consists of modular components including Active Record for database abstraction, Action Pack for request routing and controller handling, Action View for template rendering, and Active Support for utility extensions. Rails applications use convention over configuration to reduce boilerplate code, with sensible defaults for directory structure, naming conventions, and common patterns. The framework is used for building web applications ranging from content management systems to APIs, with built-in support for multiple response formats including HTML, JSON, and XML.

Modular component architecture
Rails is composed of independent libraries (Active Record, Action Pack, Action View, Active Support) that can be used separately outside the framework. This allows developers to adopt individual components without committing to the full Rails stack.
Integrated ecosystem
Rails bundles multiple frameworks for common web application needs including Action Mailer for email generation, Active Job for background job processing, Action Cable for WebSocket integration, and Active Storage for file attachments. These components are designed to work together within a single application.
Convention-based development
Rails uses established conventions for file organization, naming patterns, and code structure to minimize configuration requirements. This approach reduces decision-making overhead and allows developers to focus on application-specific logic rather than framework setup.
# app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
def index
@articles = Article.where(published: true)
.order(created_at: :desc)
.limit(10)
render json: @articles
end
endPatch release restoring underscore-prefixed action methods and adjusting Kamal SSL defaults; no breaking changes or migrations required.
- –Update Kamal deployments to manually enable force_ssl in production; Rails no longer assumes SSL by default for Kamal.
- –Verify controllers using underscore-prefixed methods work correctly; regression from 8.1.0 performance optimization is now fixed.
Patch release fixing critical SQLite3 data loss during schema changes with CASCADE foreign keys and several edge-case bugs in parallel testing and associations.
- –Upgrade immediately if using SQLite3 with CASCADE foreign keys; prior versions silently deleted child table data during ALTER TABLE operations.
- –Fix resolves parallel test hangs when worker processes die and corrects `belongs_to` clearing only optional composite primary key parts.
Patch release fixing critical SQLite3 data loss during schema changes with CASCADE foreign keys and numerous cache, parallel test, and hash transformation bugs.
- –Upgrade immediately if using SQLite3 with CASCADE foreign keys; prior versions silently deleted child table data during ALTER TABLE operations.
- –Review parallel test setups as worker process crashes no longer hang the suite, and verify cache behavior if using local stores or race_condition_ttl.
See how people are using rails
Top in Backend & APIs
Related Repositories
Discover similar tools and frameworks used by developers
beego
MVC framework for Go with integrated ORM and routing.
express
Middleware-based HTTP routing and response handling for Node.js.
dompdf
CSS 2.1 compliant HTML layout and rendering engine.
graphiql
Browser-based GraphQL IDE with language service tooling.
erpnext
Full-featured ERP system built on Frappe Framework.