【るびーおんれいるず】

Ruby on Rails とは?

💡 「レールに乗れば速い」Ruby製Webフレームワーク
📌 このページのポイント
Ruby on Rails — MVC アーキテクチャ ブラウザ リクエスト Router URL振り分け Controller 処理の司令塔 Model データ操作 View HTML生成 DB データ保存 ① リクエスト → ② ルーティング → ③ モデルでデータ取得 → ④ ビューでHTML生成 → レスポンス 「設定より規約」で素早くWebアプリを構築
Ruby on RailsのMVCアーキテクチャのイメージ
ひよこ ひよこ

Ruby on Railsって何がすごいの?

ペンギン先生 ペンギン先生

「15分でブログを作る」というデモが有名でね、本当に短時間でWebアプリの基本機能が作れるんだ。「設定より規約」という考え方で、ファイルの置き場所や名前の付け方にルールがあるから、それに従うだけで自動的にいろんな機能が動くんだよ。

ひよこ ひよこ

MVCって何?

ペンギン先生 ペンギン先生

Model(データ)・View(見た目)・Controller(制御)の3つに役割を分ける設計パターンだよ。Modelがデータベース、Viewが画面表示、Controllerがリクエストを受けて処理を振り分ける。この構成のおかげでコードが整理されるんだ。

ひよこ ひよこ

scaffoldって何?

ペンギン先生 ペンギン先生

「rails generate scaffold Article title:string body:text」って打つと、記事の一覧表示・詳細表示・新規作成・編集・削除の機能がデータベース込みで全部自動生成されるんだ。足場(scaffold)を組むように、アプリの骨組みを一瞬で作ってくれるよ。

ひよこ ひよこ

最近はRailsの人気が落ちてるって聞くけど?

ペンギン先生 ペンギン先生

フロントエンドReactVueに移行してAPIだけ作ればいいケースが増えたから、Railsのビュー機能を使わない場面も増えたね。でもRails 7からはHotwire(Turbo + Stimulus)でJavaScriptを極力書かずにインタラクティブなUIを実現する新しいアプローチが生まれて、再び注目されてるよ。

ひよこ ひよこ

Railsの難しいところって何?

ペンギン先生 ペンギン先生

Railsの「魔法」が多すぎて、裏で何が起きているかわからなくなることがあるんだ。特にActive Recordの関連付け(has_many, belongs_to, has_many :through)でN+1問題が発生したとき、includesやpreload、eager_loadのどれを使うかの判断は意外と奥深い。さらにcounter_cacheやtouchオプションが絡んでくると、キャッシュの無効化タイミングまで考慮が必要になって、Rails歴が長い人でも最適な組み合わせを選ぶのに苦労するポイントなんだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
Ruby on Rails」って出てきたら「Rubyで素早くWebアプリが作れるフレームワークだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Ruby on Rails」 = Rubyで走るレール(線路)
💬 レール(規約)に乗って走れば目的地に速く着けるというイメージ。略して「Rails」と呼ばれることが多いよ
← 用語集にもどる