我在我的功能测试中有一个测试,它在删除正确后断言重定向:
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 参数?我怎样才能防止这种情况发生?