Je ne savais pas trop comment spécifier le chemin de la ressource imbriquée pendant un moment, donc je l'enregistrerai sous forme de mémorandum.
・ Rubis '2.5.7' ・ Rails '5.2.3' ・ Rspec-rails '4.0.0.beta2'
** Conclusion: ** rails routes
pour lister et vérifier les routes!
Supposons que vous ayez déclaré le routage comme ceci:
routes.rb
resources :datespots do
resources :comments, only: [:create, :destroy]
end
rails routes
dans le terminal listera les routes.
Prefix Verb URI Pattern Controller#Action
(réduction)
datespot_comments POST /datespots/:datespot_id/comments(.:format) comments#create
datespot_comment DELETE /datespots/:datespot_id/comments/:id(.:format) comments#destroy
(réduction)
Sur cette base, vous pouvez spécifier le chemin et c'est OK!
comments_spec.rb
(réduction)
it "Les commentaires avec un contenu valide peuvent être enregistrés" do
expect {
post "/datespots/#{datespot.id}/comments", params: {
datespot_id: datespot.id,
comment: { content: "C'est à la mode!" }
}
}.to change(datespot.comments, :count).by(1)
end
(réduction)
[Rails Guide 2.7 Ressources imbriquées](https://railsguides.jp/routing.html#%E3%83%8D%E3%82%B9%E3%83%88%E3%81%97%E3%81% 9F% E3% 83% AA% E3% 82% BD% E3% 83% BC% E3% 82% B9 "Rails Guide 2.7 Ressources imbriquées")