ruby-on-rails - 在 Rails 中更改命名空间
问题描述
我有命名空间路由
/示例/列表/
namespace :example do
resource :list
...
end
需要将其更改为
/新示例/列表/
我当然可以通过更改 routes.rb 中的 example => newexample 来做到这一点,但是模块示例在项目中被大量使用。所以用这种方法改变它几乎需要更新每个Controller、Js、CSS文件。
有没有办法在 routes.rb 中映射 newexample => example 命名空间?或任何其他开箱即用的解决方案?
解决方案
您可以在使用带有该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
(这意味着您必须更新视图中的链接)
如果您需要更多详细信息,还可以查看有关范围界定路线的文档
推荐阅读
- vue.js - 通过插槽传递给组件,该组件发出事件
- lua - 我在使用 LUA 如何转换成整数的最后一个年龄上得到小数位
- c - 如何将 unsigned int 转换为指针并取消引用它?
- mysql - 如何将产品同步到本地应用程序的本地 sql 数据库
- css - 如何在不使用 ng-repeat 上的单击功能的情况下将水平滚动条设置为居中
- r - 排列功能无法正常工作 - dplyr
- javascript - 如何将 HTML 元素数组转换为 NodeList?
- arrays - 如何根据数组中的某些条件用 Swift 中的常量减去每个 Int 值?
- react-native - 从本机模块反应本机时显示红屏错误
- java - 让其他线程等到 ScheduledExecutorService 完成所有任务