Ich war verwirrt darüber, wie der Pfad der verschachtelten Ressource für einen Moment angegeben werden soll, daher werde ich ihn als Memorandum aufzeichnen.
・ Ruby '2.5.7' ・ Schienen '5.2.3' ・ Rspec-Schienen '4.0.0.beta2'
** Fazit: ** Rails Routen
zum Auflisten und Überprüfen der Routen!
Angenommen, Sie haben das Routing wie folgt deklariert:
routes.rb
resources :datespots do
resources :comments, only: [:create, :destroy]
end
Rails Routen
im Terminal listet die Routen auf.
Prefix Verb URI Pattern Controller#Action
(Kürzung)
datespot_comments POST /datespots/:datespot_id/comments(.:format) comments#create
datespot_comment DELETE /datespots/:datespot_id/comments/:id(.:format) comments#destroy
(Kürzung)
Auf dieser Grundlage können Sie den Pfad angeben und es ist OK!
comments_spec.rb
(Kürzung)
it "Kommentare mit gültigem Inhalt können registriert werden" do
expect {
post "/datespots/#{datespot.id}/comments", params: {
datespot_id: datespot.id,
comment: { content: "Es ist in Mode!" }
}
}.to change(datespot.comments, :count).by(1)
end
(Kürzung)
[Rails Guide 2.7 Verschachtelte Ressourcen](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 Nested Resources")