【るびーおんれいるず】

Ruby on Rails とは?

最終更新:
💡 規約と標準機能でWeb開発を支えるRubyのフレームワーク

RubyでWebアプリケーションを作るためのフレームワーク。命名や構成の規約と、データ操作・画面表示などの機能を提供し、共通の作業を減らす。

📌 このページのポイント
Rails:HTMLの画面を返す場合の例ブラウザ要求を送るRouter要求の行き先Controller処理を進めるデータを準備Modelデータと処理DBデータを保存ViewHTMLを作る青矢印:依頼 緑矢印:データ・応答
リクエストをRouterがControllerへ振り分け、Model/DBでデータを扱い、ViewでHTMLを作る例。レスポンスはController側から返します。全ての要求が必ずDBやViewを通るわけではありません。
ひよこ ひよこ
Ruby on Railsは何をしてくれるの?
ペンギン先生 ペンギン先生
RubyでWebアプリを作るための枠組みや標準機能を提供するよ。「設定より規約」という考え方で、命名やファイルの配置などの共通ルールを用意して、毎回細かく設定する作業を減らすんだ。ルールに従うだけで必要な製品が全部完成するわけではないよ。
ひよこ ひよこ
MVCの役割は?
ペンギン先生 ペンギン先生
Modelはデータやそれに関わる処理、ViewはHTMLなどの表示、Controllerはリクエストを受けて必要な処理を進める役割だよ。Modelそのものがデータベースではなく、Active Recordなどを通じてDBとやり取りするんだ。図はHTML画面を返す場合の流れを簡略化しているよ。
ひよこ ひよこ
scaffoldで全部作れる?
ペンギン先生 ペンギン先生
一覧・詳細・作成・編集・削除というCRUD機能の土台を作れるよ。たとえば「bin/rails generate scaffold Article title:string body:text」でモデルやコントローラー、ビュー、ルート、マイグレーション、テスト用ファイルなどを生成する。その後DBへ反映する「bin/rails db:migrate」や、必要な機能・権限・テストの実装が必要なんだ。
ひよこ ひよこ
画面も必ずRailsで作るの?
ペンギン先生 ペンギン先生
必須ではないよ。RailsからJSON APIを提供して、別のフロントエンドやアプリから使う構成もある。HTMLの画面をRails側で生成するか、APIを中心に使うかは、作るアプリの要求に合わせて選ぼう。
ひよこ ひよこ
規約があれば仕組みを知らなくても大丈夫?
ペンギン先生 ペンギン先生
規約を知ると作業を減らせるけど、ルーティングやモデル、DBへの反映の仕組みは理解しておこう。生成されたコードもアプリの出発点で、入力の検証やアクセス権限、性能などを要求に合わせて確認する必要がある。速く始められることと、完成品の品質は別だよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Ruby on Rails」って出てきたら「規約と標準機能でRubyのWeb開発を支えるフレームワーク」と思えばだいたいOK!
📖 おまけ:英語の意味
「Ruby on Rails」 = Rubyをレールに乗せる
💬 レールは開発の規約に沿って進むイメージで捉えよう。略してRailsとも呼ぶよ。

参考資料

← 用語集にもどる