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 铁路中消除“一网打尽”路线的技术_Ruby On Rails_Ruby On Rails 3_Routes - Fatal编程技术网

Ruby on rails 铁路中消除“一网打尽”路线的技术

Ruby on rails 铁路中消除“一网打尽”路线的技术,ruby-on-rails,ruby-on-rails-3,routes,Ruby On Rails,Ruby On Rails 3,Routes,我刚刚接手了一个Rails 3.0项目,它利用了可怕的catchall路线:match'/:controller(/:action(/:id))。我想摆脱它,用正确定义的路线代替它。但是,有大量的控制器,我希望确保在不破坏任何东西的情况下执行此操作,因此我需要对项目进行审核,以查看哪些控制器操作依赖于catch all。是否有任何工具或方法来检查所有控制器,以查看哪些操作击中了特定的routes.rb条目?大约一个月前,我遇到了完全相同的问题。据我所知,没有简单的答案,特别是如果它是一个测试不好

我刚刚接手了一个Rails 3.0项目,它利用了可怕的catchall路线:
match'/:controller(/:action(/:id))
。我想摆脱它,用正确定义的路线代替它。但是,有大量的控制器,我希望确保在不破坏任何东西的情况下执行此操作,因此我需要对项目进行审核,以查看哪些控制器操作依赖于catch all。是否有任何工具或方法来检查所有控制器,以查看哪些操作击中了特定的routes.rb条目?

大约一个月前,我遇到了完全相同的问题。据我所知,没有简单的答案,特别是如果它是一个测试不好的应用程序。我发现最好的方法是:

  • 移除黑洞路径
  • 运行
    rake routes
    并与我的每个控制器进行比较
  • 测试我能找到的与该控制器有关的所有内容,并在需要时添加丢失的路由
  • 重复一遍 祝你好运