如何找到什么引擎(宝石)提供路线

时间:2015-07-20 15:03:28

标签: ruby-on-rails routes rails-engines

我的一个宝石,一个Rails引擎,提供了一条不应该存在的路径。而且我想知道它是什么宝石。

这是一个Spree网站,有一些扩展,所以很多小型引擎带有依赖关系:其中一个提供{{1}}不应该存在。当我构建一个“vanilla”狂欢网站时,该路由不在那里,但在我的旧版和升级后的实例中,它是。

有没有办法快速获取按其定义的文件或引擎分组的所有路线的列表?

1 个答案:

答案 0 :(得分:1)

快速而肮脏的解决方案

我不知道Rails是否可以针对特定路由执行此操作。我假设你没有捆绑很多设置路线的宝石。

bundle show --paths列出了Gemfile所需的所有gem的路径。

鉴于Rails引擎也draw their routes in config/routes.rb,您可以使用Bundler和UNIX工具找到这些文件:

find `bundle show --paths` -name routes.rb | grep -v test | grep -v spec

你找不到具体的路线,但它应该给你一个提示在哪里看......