我有命名空间路由,例如
/ example / list /
namespace :example do
resource :list
...
end
需要将其更改为
/ newexample / list /
我当然可以通过更改route.rb中的example => newexample来做到这一点,但是项目中广泛使用了模块 example 。因此,通过这种方法对其进行更改将需要更新几乎每个Controller,Js,CSS文件。
有什么方法可以在route.rb中映射newexample => example名称空间?或任何其他开箱即用的解决方案?
答案 0 :(得分:7)
使用带path
选项的名称空间时,可以指定路径。在您的示例中,您将具有以下内容:
namespace :example, path: 'newexample' do
resources :list
end
您也可以像这样指定模块
namespace :newexample, module: :example do
resources :list
end
创建的路由将相同(/newexample/list
将映射到example
模块)。
区别在于路由助手名称:对于第一个示例,您的助手将是example_lists_path
,在第二个示例中,它将看起来像newexample_lists_path
(这意味着您必须更新自己的链接)
如果您需要更多详细信息,也可以选中docs on scoping routes