Ruby on rails rspec控制器测试预期路径

Ruby on rails rspec控制器测试预期路径,ruby-on-rails,ruby-on-rails-4,rspec,rspec-rails,Ruby On Rails,Ruby On Rails 4,Rspec,Rspec Rails,我试图测试在创建帖子时,用户被重定向到部署路径。我已经加进去了 config.include Rails.application.routes.url_helpers 将铁路线路延伸至rspec。但我的测试仍然失败,出现以下错误 1) Failure/Error: expect(response).to redirect_to(path) Expected response to be a redirect to <http://test.host/deployments/ne

我试图测试在创建帖子时,用户被重定向到部署路径。我已经加进去了

  config.include Rails.application.routes.url_helpers
将铁路线路延伸至rspec。但我的测试仍然失败,出现以下错误

1) Failure/Error: expect(response).to redirect_to(path)
   Expected response to be a redirect to <http://test.host/deployments/new> but was a redirect to <http://test.host/deployments/new.1473>.
   Expected "http://test.host/deployments/new" to be === "http://test.host/deployments/new.1473".
     # -e:1:in `<main>' 
项目控制员

  def create
    @project=Project.new(params_project)
    if @project.save
      record_saved
      return redirect_to(new_deployment_path(@project))
    else
      check_for_errors
      return render('/projects/new')
    end 
  end
为什么会失败?我是否以正确的方式处理这个问题


提前感谢

您确定是
新建部署路径
而不是
新建部署路径
这是我的第一个建议。它们可以是更多但不够的信息:
routes.rb
部署控制器例如

现在在“重定向到新部署路径”块中,您需要替换
eq(新部署路径)
smth。如下所示:
eq(新部署路径(:post))
。对不起,现在我的眼睛再也睁不开了。现在在我的国家。但我想你理解我的意思了。您需要变量来获得正确的测试路径
new\u deployments\u path
  def create
    @project=Project.new(params_project)
    if @project.save
      record_saved
      return redirect_to(new_deployment_path(@project))
    else
      check_for_errors
      return render('/projects/new')
    end 
  end