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 回答