TL;DR
Ruby で書かれた、フルスタックの Web アプリケーションフレームワーク。フロントエンドとバックエンドの両方で必要なツールを一式備えている。
仕組み
Rails は、HTML テンプレートの描画、データベースの更新、メールの送受信、WebSocket によるライブ更新、非同期ジョブ、クラウドへのファイル保存、一般的な攻撃からの保護などの機能を持つ。主な構成要素は次のとおり。
- Active Record: データベースのデータとビジネスロジックをオブジェクトとして扱う
- Action Controller: リクエストを処理し、HTML や JSON で応答する
- Action View: Ruby と HTML を混ぜたテンプレートを扱う
- Action Dispatch: ルーティングで URL とコントローラを対応付ける
フロントエンドの標準のフレームワークとして、Hotwire を採用している。