Rails – ルーティング

ルーティングファイルの役割

RailsがユーザーのブラウザーからGETやPOSTなどのリクエストを受け取ると、まずルーティングファイルを参照する。

ルーティングファイルには、リクエストの種類、リクエストのターゲットURL、ターゲットURLに対応するコントローラーとアクションが記述されている。

その内容に従って必要なコントローラーが呼び出されて処理を行った後、ユーザー側へレンダリングされた内容が返される。

ファイルの位置とファイル名

ルーティングファイル(routes.rb)は、プロジェクト生成時にconfigディレクトリー下に生成される。

config/routes.rb

ファイルの内容

アクションを指定してコントローラーを生成すると、routes.rbにそのアクションへのルーティングを記述した1行が追加される。

たとえばコントローラーとしてdemo_contents、そのアクションとしてtop_pageを指定して生成すると以下のような内容でルーティングの記述が追加される。

一方、アクションを指定せずにコントローラーだけ指定して生成すると、route.rbへの追加は行われない。

基本的なルーティングの書き方

URL指定

以下の3つの記述は全て等価で、ブラウザーからURLをlocalhost:3000/demo_contents/top_pageと指定してGETリクエストしたとき、demo_contentsコントローラーのtop_pageアクションが実行される。

2つ目と3つ目の記述法では、URLに他の表現を設定することが可能。

以下の例ではlocalhost:3000/fooを指定した時に、demo_contentsコントローラーのtop_pageアクションが実行される。

ルートページの指定

ルートページとして特定のコントローラー・アクションを設定するときは、以下の様に記述する。

項設定すると、localhost:3000のようにブラウザーからリクエストするとdemo_contentstop_pageアクションが実行される。

基礎的なルーティング

rails routesによるルーティングの確認、to:によるURLの置き換え、as:による名前付けなどの基礎的な事項は以下にまとめた。

基礎的なルーティング

RESTful

今後

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です