#目次
①ネストをする意味
②ネストの記述方法
③ネストしない場合とする場合
④まとめ
##①ネストをする意味
アソシエーション先のid情報を取得するためにネストをする。
##②ネストの記述方法
以下のように親のコントローラに対してdoとendで挟んで記述をすると、ネストがされている状態になる。
Rails.application.routes.draw do
resources :親となるコントローラー do
resources :子となるコントローラー
end
end
##③ネストしない場合とする場合
ネストなし
Rails.application.routes.draw do
resources :images
resources :comments, only: :create
end
ターミナル
Prefix Verb URI Pattern Controller#Action
comments POST /comments(.:format) comments#create
ネストなしの場合、ターミナルにてrails routesをすると上記のように表示される。ではネストがある場合どうなるのだろうか?
ネストあり
Rails.application.routes.draw do
resources :images do
resources :comments, only: :create
end
end
ターミナル
Prefix Verb URI Pattern Controller#Action
image_comments POST /images/:tweet_id/comments(.:format) comments#create
ネストありの場合、ターミナルにてrails routesをすると上記のように表示される。ネストした場合は、コメントの投稿先のidがあるのに対して、ネストしない場合は、どの画像に対してコメントかわからなくなってしまう。
##まとめ
ネストをすることで親のidの情報を取得することができる。