0

機能テストに、削除が正しい後にリダイレクトをアサートするテストがあります。

assert_redirected_to terrain_tip_url(terrain_id: entities(:deroos))

これにより、URLがhttp://test.host/terrains/:terrain_id/tipsであるかどうか、および生成された正確なURLであるアプリケーションでテストされるはずです。ただし、テストケースでは、これによりURLは次のようになります。http://test.host/terrains/:terrain_id / Tips /:id 、これによりテストケースは失敗します。

Expected response to be a redirect to <http://test.host/terrains/446801721/tips/495319887> but was a redirect to <http://test.host/terrains/446801721/tips>

terrain_tip_urlに設定したことのないidパラメータが含まれているのはなぜですか?どうすればこれを防ぐことができますか?

4

1 に答える 1

0

実行rake routesすると、ここでいくつかの洞察が得られるはずです。あなたが欲しいのは(表示)terrain_tips_urlではなく(インデックス)だと思いますterrain_tip_url

http://guides.rubyonrails.org/routing.html#crud-verbs-and-actions

于 2012-10-31T08:55:40.650 に答える