アットウィキロゴ

2025年Railsのメモ

2025年版 Ruby on Rails メモ(トップページ)


はじめに

久しぶりにRailsのお仕事に戻ってきたので、昔まとめていた Railsのお勉強(Rails 3.x 時代)を、2025 年の最新環境向けに追加したメモページです。
Ruby や Rails の主要バージョンが大きく変わり、フロントエンドやテスト環境も様変わりしているため、当時との「差分」を気にしながら書いていきますね!

あくまで自分用の備忘録なので、細かい説明よりも「こういうときどうする?」を思い出しやすい形でまとめる予定。


前提環境

  • Ruby: 3.x
  • Rails: 7.x / 8.x

この Wiki の目的

  • Rails 最新版でアプリを作るための 最低限の知識をすぐ確認できる場所
  • Rails 3 〜 4 時代からの大きな差分を把握
  • Hotwire 時代の Rails を中心に、最新のアーキテクチャをまとめる

10年前のRailsから変わったところ

  • Hotwire(Turbo & Stimulus)で、Rails が UI をまるごと担当する方向に進化
  • JS 管理が Webpacker → Importmap / ESBuild / Bun / Vite の選択制に変化
  • Rails Credentials による秘密情報管理(secrets.yml は過去のものへ)
  • Active Storage 標準化で画像・動画アップロードが簡単に
    • paperclipとかなくなったのは楽でいいね!
  • RSpec + FactoryBot がテストの定番に
  • API モード・SPA(React/Vue/Svelte)との連携が一般化
  • Heroku 無料枠の終了に伴い、Render / Fly.io など新デプロイ先が定着

2025 年時点では、
「Rails で全部やる(Hotwire)」「Rails を API 化してフロント分離」 の2路線がはっきりしている。

主要トピック

Hotwire(Turbo&Stimulus)

Hotwire(Turbo & Stimulus)

主な変更点

  • Rails 標準のフロントエンドが Hotwire に統一
  • Turbo Streams / Turbo Frames による非同期 UI
  • Stimulus による最小限の JavaScript 実装

RailsのJavaScript管理方式の変遷

RailsのJavaScript管理方式の変遷

主な変更点

  • Rails 6 までは Webpacker が標準の JavaScript 管理方式だったが、Rails 7 以降は JavaScript 管理を選択制に変更した。

Devise

Devise

  • Rails の最定番認証ツール
  • Turbo リダイレクト対応が要点

Active Storage

Active Storage

  • 画像・ファイル管理の標準機能
  • S3・ローカルなど複数ストレージに対応

Action Text(Trix Editor)

Action Text(Trix)

  • リッチテキストを Rails 標準でサポート
  • Active Storage と完全統合

RSpec

RSpec

  • Rails 7〜8 でも主流のテストライブラリ
  • System Spec × Turbo が現代的な構成

PORO(プレーン・オールド・ルビー・オブジェクト)

PORO / サービスクラス

  • Fat Model/Fat Controller を避ける設計
  • Query Object / Form Object / Presenter など

アプリ設計の大きな流れ(2025)

アプリ設計の大きな流れ(2025)

  • コントローラは薄く
  • ビジネスロジックは PORO へ
  • フロントは Turbo 主体で最小限に
  • Rails 標準機能(Active Job / Storage / Text)でなるべく統一

Rails × React / Vue(2025年版)

Rails × React / Vue(2025年版)


今後追加予定

  • Turbo の落とし穴集
  • Stimulus のよく使うパターン
  • 最新 Rails × React/Vue の構成メモ
  • デプロイ(Fly.io / Render / Railway)
最終更新:2025年12月16日 08:54