Academic-cap Rails Learning

1. 🚪 ルーティングって何?

🎯 この項の目的


  • 「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つのこと


  1. URLの定義
  2. どんなURLを受け取るか(例:/posts, /users/:id)
  3. HTTPメソッドとの対応
  4. どんな操作(見る・作る・削除する)で呼ぶか(例:GET, POST, DELETE)
  5. どのコントローラ・アクションを動かすか
  6.  リクエストをどこに渡すか(例: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アプリのすべてのリクエストは、まずこの“受付”を通るんだ☃️✨




次の章に行く前に...

この章で学んだ知識を覚えよう!

この章で学んだことを、Xでアウトプットしましょう ✨

対応するクイズに挑戦して理解を定着させましょう💡

クイズを解く