ルーティングの設定

前回の振り返り

前回はマイグレーションファイルを編集し、テーブルの作成を行いました。

前回 テーブルの作成 - whale_86’s blog

f:id:whale_86:20201106200608j:plain

 ルーティング

ルーティングとは、リクエストの行先を指定したり、新たに定義したりなど。

 

もっと詳しく▶︎ルーティングとは、ネットワーク上でデータを送信・転送する際に、宛先アドレスの情報を元に最適な転送経路を割り出すこと。特に、インターネットなどのIPネットワークにおいて、パケットの転送先を決定すること。

 

なんとなく理解できるレベル(・・;)

 

Railsでは7つのアクションに分割して処理を行います

index:一覧表示

show:詳細表示

new:生成

create:保存

edit:編集

update :更新

destroy:削除

 

 ルーティングの生成

resourcesメソッドは、7つのアクションへのルーティングを自動生成するメソッド。

config/routes.rb

Rails.application.routes.draw do
  resources :tweets
end

 以下のように7つのアクション全てをルーティングを設定したことになる。

 

確認には、rails routesコマンドを用います。ターミナルでコマンドを実行するとルーティングを確認できます。

ターミナル

GET          /tweets(.:format)                   tweets#index
POST         /tweets(.:format)                   tweets#create
GET          /tweets/new(.:format)               tweets#new
GET          /tweets/:id/edit(.:format)          tweets#edit
GET          /tweets/:id(.:format)               tweets#show
PATCH        /tweets/:id(.:format)               tweets#update
PUT          /tweets/:id(.:format)               tweets#update
DELETE       /tweets/:id(.:format)               tweets#destroy

 onlyオプションは、指定したアクションのみのルーティングを自動生成する。

config/routes.rb

Rails.application.routes.draw do
  resources :tweets, only: :index
end

 ターミナル

GET          /tweets(.:format)                   tweets#index

不要なアクションが存在すると、余分なエラーを生む可能性があるため絞る必要があるのです。

これで一覧表示に向けたルーティングが設定ができました。

 

まとめ

ルーティングの生成には、routes.rbでresourcesメソッドを使いましょう。欲しいルーティングが決まっている、開発途中などはonlyオプションを用いて不要なルーティングは生成しないようにしましょう。

ルーティングの確認にはrails routesコマンドを用いましょう。

 

前回 テーブルの作成 - whale_86’s blog

次回