yujiroのプログラミング

勉強内容をアウトプットし、サボらないようにする為のブログ

<DAY76>ルーティングのネストについて

\ Follow me!! /

f:id:yujiro0320:20190415152250p:plain

学習状況

●学習日数 76日 

●学習時間(本日) 1.0時間

●累計学習時間 233.0時間

●一日あたりの平均学習時間 3.06時間 

ルーティングのネストとは??

ネストとは入れ子構造とも呼ばれ、ある記述の中に入れ子構造で別の記述をする方法。 あるコントローラへのルーティングの記述の中に、別のコントローラへのルーティングを記述する。

例えば、users_controllerのルーティングの中にtweets_controllerのルーティングを記述します。 tweetsのidの情報が含まれる。

Rails.application.routes.draw do

   root 'tweets#index'
   resourses : users do
     resourses :tweets, only: [:create]
   end
end

ネスト構造を用いる事で、繋がる必要があるデーターが紐付き、paramasを飛ばしてくれる。 必須の技術である。

ネストさせた場合と、そうでない場合のルートの変化

ネストあり

Prefix Verb                    URI Pattern                            Controller#Action
#中略
tweet_comments POST   /tweets/:tweet_id/comments(.:format)   comments#create
#中略

ネストなし

URLの情報をいれときたいルートを前に持っていく。

Prefix Verb     URI Pattern           Controller#Action
# 中略
comments POST   /comments(.:format)   comments#create
# 中略