在我的路线中,我有以下内容:
match '/:org_id/users/:id/receive_message' => 'users#receive_message', :via => [:get, :post], :org_id => /[a-z0-9.-]+/i, :id => /[a-z0-9.-]+/i
在我的路线测试中,我有以下内容:
assert_routing({method: 'post', path: '/test4.example.com/users/user.test.email/receive_message'}, {controller: "users", action: "receive_message", org_id: "test4.example.com", id: "user.test.email"})
哪个工作正常。除非我使用
对操作进行集成测试post "/123/users/456/receive_message"
我获得301重定向到http://example.com/123/users/456/receive_message
我已关闭此操作的设计身份验证和authenticity_token检查。它永远不会到达集成测试中的任何before_ *过滤器。该行动在生产中运作良好。使用库存Rails 4测试框架进行单元,控制器和集成测试,使用FactoryGirl进行模拟。
有什么想法吗?