我有以下代码:
it 'should create' do
post :create, investor: VALID_CREATE_PARAMS
expect(response).to redirect_to(controller: 'admin/investors', action: 'show')
end
它会产生以下错误:
1) Admin::InvestorsController create should create
Failure/Error: expect(response).to redirect_to(controller: 'admin/investors', action: 'show')
ActionController::UrlGenerationError:
No route matches {:action=>"show", :controller=>"admin/investors"}
路线是
namespace :admin do
resources :investors
end
如何解决此问题?我无法使用admin_investor_path
断言重定向,因为我在重定向时保留了url参数。
答案 0 :(得分:2)
默认情况下显示操作也需要传递一个ID,但没有ID,它无法生成网址
答案 1 :(得分:0)
您需要像这样添加:
expect(response).to redirect_to(controller: 'admin/investors', action: 'show', id: assigns(:investor).id )