🎯 この項の目的
- 「URLを開いたときに、Railsの中で“最初に何が起きているか”」を理解する
- 「ルーティング=処理の入口」という感覚を掴む
🏢 1. ルーティングは“受付カウンター”
Railsのルーティングは、アプリの受付カウンターのような存在です。
たとえば、あなたがショッピングモールの中にある「問い合わせカウンター」に行くと、
受付の人がこう尋ねますよね👇
「どの部署にご用ですか?」
そしてあなたが「商品の返品です」と言うと、
受付の人は「では、返品担当の係にご案内します」と案内してくれます。
💡 Railsでの動きに置き換えると…

つまり、
👉 ルーティングは「どのURLで、どの処理を呼び出すか」を決める場所!
📄 2. ルーティングの正体:
config/routes.rb
Railsのルーティング設定は、config/routes.rb というファイルに書かれています。
これは「URLの案内表」みたいなもの。
例えば、こんなコードがあるとします👇
Rails.application.routes.draw do get "hello", to: "home#index" end
これは、
「ユーザーが /hello にアクセスしたら、HomeController の index アクションを呼び出す」
という意味です。
🧭 3. つまり、ルーティングは“URLの地図”
ルーティングがあることで、RailsはURLと処理を対応づけられます。
/posts → 投稿一覧を表示
/posts/new → 新しい投稿を作る画面
/posts/:id → 投稿の詳細ページ
このように、URLを入り口として、Rails内のどのコントローラ・アクションを動かすかを
ルーティングが“案内”してくれるのです📍
💬 4. ルーティングがないとどうなる?
もしルーティングがなかったら、Railsは
「そのURLがどの処理に対応しているのか分からない!」とエラーを出します🚨
ActionController::RoutingError (No route matches [GET] "/posts")
これは「受付に来たけど、担当がいません」と言われているようなもの。
つまり、ルーティングがなければ、ブラウザからのリクエストは迷子になってしまうのです。
🧩 5. ルーティングがやっている3つのこと
- URLの定義
- どんなURLを受け取るか(例:/posts, /users/:id)
- HTTPメソッドとの対応
- どんな操作(見る・作る・削除する)で呼ぶか(例:GET, POST, DELETE)
- どのコントローラ・アクションを動かすか
- リクエストをどこに渡すか(例:PostsController#index)
たったこれだけで、RailsはURLを通じてアプリ全体を制御できます✨
🌐 6. ルーティングの実例(目で見て理解)
Rails.application.routes.draw do get "posts", to: "posts#index" get "posts/:id", to: "posts#show" post "posts", to: "posts#create" end
この場合👇

💡 「どのURLで、どのアクションが動くか」さえ分かれば、Railsアプリの流れがぐっと理解しやすくなります。
🪄 7. resources という魔法の書き方(次項への予告)
でも…上みたいに1つずつ書くのは面倒ですよね?😅
そこでRailsには便利な“まとめ書き”があります。
それが、次項で学ぶ👇
resources :posts
これだけで上記のような7つのルート(index, show, new, create, edit, update, destroy)が
自動的に作られます!✨
✅ まとめ

💬 一言でまとめると:
ルーティングは「URLという住所を、正しい担当者(コントローラ)に案内する受付係」。
Railsアプリのすべてのリクエストは、まずこの“受付”を通るんだ☃️✨