Ruby on rails 在Rails集成测试中通过重定向放置

Ruby on rails 在Rails集成测试中通过重定向放置,ruby-on-rails,integration-testing,Ruby On Rails,Integration Testing,我有这条路线: put "/users/:id/activate?:verification_key" => "users#activate", :as => 'verification' 我想在集成测试中访问此路由 put_via_redirect verification_path, :id => 1, :verification_key => 1234 耙试验给出: No route matches {:action=>"activate", :contr

我有这条路线:

put "/users/:id/activate?:verification_key" => "users#activate", :as => 'verification'
我想在集成测试中访问此路由

put_via_redirect verification_path, :id => 1, :verification_key => 1234
耙试验给出:

No route matches {:action=>"activate", :controller=>"users"} missing required keys: [:id, :verification_key]

正确的语法是什么?谢谢。

我发现更改参数语法和使用斜杠更容易

get "/users/:id/:verification_key" => "users#activate", :as => 'verification'
从用户邮件模板中,我可以访问如下链接:

  <a href="<%=@url%><%=url_for verification_path(:host => @host, :id=>@user.id, :verification_key=>@key) %>">Activate</a>