您好我正在编写规范,我需要在规范内部设置测试路径,但是当我使用Rails :: Application.routes.draw时,它会覆盖所有其他路由。
有没有办法在rails 3中执行此操作?
干杯
丹
答案 0 :(得分:0)
一般的解决方案是使用一些方法来实际切换我们的路由集 - 即使用模拟或仅使用使用路由的范围返回一个新的ActionDispatch :: Routing :: RouteSet.new - 这会阻止你从使用默认路线开始,但是在您测试围绕路线的东西的情况下,它可以很好地工作。
或者,如果您正在测试代码,例如使用路由的助手,您需要查看保存路由的状态或类似的东西,以防止它清除它们。如有疑问,我建议查看ActionDispatch代码和测试(例如http://github.com/rails/rails/blob/master/actionpack/test/dispatch/url_generation_test.rb)