🎯 この項の目的
Railsは「MVC+周辺ファイル」で構成されています。
つまり、Railsアプリ全体は大きな“街”のようなもので、
モデル・コントローラ・ビューの3人が、それぞれの建物(フォルダ)で働いていると思えばOKです🌆
Railsを動かす上で、最初に触る場所を“地図”でつかみましょう。
🧭 1. Railsの全体構造をざっくり見てみよう
Railsアプリを作ると、フォルダ構成はだいたいこんな感じになります👇
my_app/ ├─ app/ │ ├─ models/ ← データ(Model) │ ├─ controllers/ ← 司令塔(Controller) │ ├─ views/ ← 見た目(View) │ └─ helpers/ ← ビューを助けるメソッド(後で出てくる) │ ├─ config/ ← 設定ファイルたち(ルーティングなど) │ └─ routes.rb ← URLの入り口を管理 │ ├─ db/ ← データベース関連(migration, schemaなど) │ ├─ Gemfile ← 使うライブラリの一覧 └─ README.md ← プロジェクトの説明書
たくさんのフォルダがありますが、最初のうちは
💡 「app/ と config/ と db/」の3つだけを意識すれば十分です。
🧱 2. app/models(モデル)=「データの倉庫」
ここには「データを扱うクラス(モデル)」が入っています。
📦 例:投稿を管理する Post モデル
# app/models/post.rb class Post < ApplicationRecord validates :title, presence: true end
💬 役割:
- データベースと直接やり取りする(保存・検索・削除)
- データのルールを決める(バリデーション)
- 名前はテーブル名と自動で対応する(Post ⇄ posts)
💡 初心者のポイント:
モデルファイルは**“1つのテーブル=1つのモデル”**で考えると覚えやすいです。
🎮 3. app/controllers(コントローラ)=「司令塔」
ここにはユーザーの操作を受けて、次に何をするか判断する役割が書かれています。
🎯 例:投稿一覧を表示するコントローラ
# app/controllers/posts_controller.rb
class PostsController < ApplicationController
def index
@posts = Post.all
end
end
💬 役割:
- 「どの画面を見たいのか」を受け取り、モデルとビューをつなぐ
- def index, def show のようなアクションを定義する
- ビュー(HTML)にデータを渡す
💡 初心者のポイント:
コントローラ名は基本的に複数形(例:PostsController)。
アクション名(index, new, create…)でビューが自動対応します。
🎨 4. app/views(ビュー)=「見た目担当」
ここには**画面を表示するファイル(.html.erb)**が入っています。
🪄 例:投稿一覧ページ
<!-- app/views/posts/index.html.erb --> <h1>投稿一覧</h1> <% @posts.each do |post| %> <p><%= post.title %></p> <% end %>
💬 役割:
- HTMLとRubyを組み合わせて画面を表示する
- コントローラから渡された変数(例:@posts)を使う
- フォルダ構成は app/views/コントローラ名/アクション名.html.erb
💡 初心者のポイント:
.erb の中で <%= %> を使うと、Rubyの値をHTMLの中に埋め込めます!
🗺️ 5. config/routes.rb(ルーティング)=「入り口の案内係」
このファイルは、URL(住所)とコントローラの対応関係を管理します。
📍 例:投稿一覧を表示するルート
# config/routes.rb Rails.application.routes.draw do resources :posts end
💬 役割:
- /posts にアクセスがあったら PostsController#index を呼ぶ
- /posts/new → PostsController#new のように自動でルールを作ってくれる
- resources :○○ で一気に7つの基本ルートを生成
💡 初心者のポイント:
ルーティングは「ブラウザからのリクエストが最初に通る場所」。
まずここで“どのコントローラを呼ぶか”が決まります。
🧾 6. dbフォルダ(データベースの心臓部)
データを保存するための設定や、テーブルの構造が入っています。
📁 よく使うファイル:

💡 初心者のポイント:
Railsでは、データベース操作もコードで行います。
rails db:migrate コマンドで、マイグレーションが実行されます。
🎯 7. 最初に触る場所を覚えよう
Railsアプリにはたくさんのファイルがありますが、
初学者が最初に触るのはこの5つ!👇

💡 この5つを理解すれば、Railsの全体像の8割はつかめます!
🌱 まとめ
