Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 如何动态添加测试环境路由?_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 3 如何动态添加测试环境路由?

Ruby on rails 3 如何动态添加测试环境路由?,ruby-on-rails-3,Ruby On Rails 3,我想添加一个仅在测试环境中可用的路由,所以我不希望污染routes.rb文件。我似乎找不到一种有效的方法来在绘制原始路线后动态添加路线。我试过这个,但不太管用 如何在routes.rb已加载并处理所有路由之后添加新路由?经过一些尝试和错误后,我发现: Rails.application.routes.eval_block(Proc.new do

我想添加一个仅在测试环境中可用的路由,所以我不希望污染routes.rb文件。我似乎找不到一种有效的方法来在绘制原始路线后动态添加路线。我试过这个,但不太管用


如何在routes.rb已加载并处理所有路由之后添加新路由?

经过一些尝试和错误后,我发现:

Rails.application.routes.eval_block(Proc.new do                                                                             
  get "/backdoor", :to => "backdoors#backdoor"                                                                         
end)
测试辅助对象在块内重新定义管线

 with_routing do |map|
   map.draw do
    resources :test, only: [:show]
   end

   get :show
   assert assigns(:test)
 end