覆盖嵌套路由中的参数

2023-11-23

我希望路线的命名约定保持一致。默认参数是:id对于任何资源。但是,如果其中嵌套了另一个资源,则父资源的参数将更改为:parent_id。 我的路由看起来像:

resources :users do
  resources :projects do
    resources :issues
  end
end

对于用户模型,它会生成像这样的 url:id,对于项目 url 将是:user_id/:id对于问题,网址将是:user_id/:project_id/:id。我尝试重载以下默认参数this

resources :users, param: :user_id do
  resources :projects, param: :project_id do
    resources :issues, param: :issue_id
  end
end

它生成如下 url::user_user_id/:project_project_id/:issue_id。因为我要重写它,所以我希望关闭父资源的默认附加。我希望我的路线看起来像:user_id/:project_id/:issue_id我希望所有模型都保持一致。即项目应该映射到:user_id/:project_id.


我就是这样做的...不确定是否有更好的方法,但它应该可以解决问题...

resources :users, param: :user_id

resources :users, only: [] do
  resources :projects, param: :project_id
end

resources :users, only: [] do
  resources :projects, only: [] do
    resources :issues, param: :issue_id
 end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

覆盖嵌套路由中的参数 的相关文章

随机推荐

  • Visual Studio 中的 Typescript AMD 模块

    我从使用 Visual Studio 2012 Ultimate 的 TypeScript 开始 我已经更改了 MSBuild 包括编译器命令中的 module amd 标记 编译器开始生成AMD模块 我在我的项目中包含了来自 Nuget
  • Python:乘法覆盖

    所以 我有一个自定义类 mul 与整数一起使用的函数 然而 在我的程序 在库中 中 它被以相反的方式调用 即2 x where x是我班的 有什么办法可以让它使用我的 mul 功能为此 只需将以下内容添加到类定义中即可 rmul mul
  • 返回匿名类型的简单方法(使使用 LINQ 的 MVC 成为可能)

    我想在使用 LINQ 特别是 LINQ to entities 的同时实现 MVC 我这样做的方法是让控制器使用 LINQ 生成 或调用生成的东西 结果集 然后将其返回到视图以显示数据 问题是 如果我这样做 return from o in
  • Xkb:如何将键码转换为键符号

    我只是尝试获取 KeyCode 和修饰符掩码 并使用 Xkb 扩展将其转换为 KeySym 我似乎无法弄清楚为什么这不起作用 很明显修饰符不匹配 但我不知道为什么 我什至不知道我是否正确转换了该组 include
  • 如何动态地将输入字段添加到表单中?

    我不是一个网络程序员 但我正在创建一个简单的网络应用程序 它有一个表单 用户可以在其中输入一系列点 x y z 但我不知道用户有多少即将进入 我不想猜测可能的最大值 也许是 100 并在表单上放置 100 个字段 因为它看起来很难看 当用户
  • 替换除字符串开头以外的所有字符(正则表达式)

    我正在尝试删除字符串数字中的所有减号 破折号 除了第一次出现之外 摆弄正则表达式 JavaScript 半小时后 仍然没有结果 有谁知道修复方法吗 Given 123 45 6 预期的 123456 Given 789 1 0 预期的 78
  • 为什么我的 TinyMCE 隐藏文本区域出现问题?

    我有大约7个textarea网页上的所有内容都是使用TinyMCE的富文本编辑器 然而 在页面加载时 只有其中 1 个可见 其余的则隐藏 用户可以单击 显示 链接 该链接将一一显示剩余的文本区域 但是 我有一个奇怪的问题 一切textare
  • 如何将 CSV 文件拆分为多个块并在 Java 代码中并行读取这些块

    我有一个非常大的 CSV 文件 1GB 它有 100 000 行 我需要编写一个 Java 程序来解析 CSV 文件中的每一行 以创建要发送的 HTTP 请求的正文 换句话说 我需要发送 100 000 个 HTTP 请求 这些请求与 CS
  • jQuery .text() 多个元素同一个类

    我试图在页面上的多个 未知数量 元素上使用 text 考虑 ul li class myClass element1 li li class myClass element2 li li class myClass element3 li
  • 旋转图像时如何避免OutOfMemory ex?

    public static boolean rotateBitmapByExifAndSave File targetFile if targetFile null targetFile exists targetFile canRead
  • MASM:从程序集中访问全局 C 变量

    我正在编写一个程序来转换图像并比较 C 语言和汇编语言处理数据的速度 我有3个项目 C语言的主要项目 C 中的 DLL 来转换图像 ASM中的DLL用于转换图像 在C DLL头文件中 我简单地写了 ifdef PROJEKTC EXPORT
  • 计算一列中行之间的Datediff(超过2条记录)

    我有一个表 其中有一列日期 我想找出它们之间的差异 我已经能够在您的网站上找到一个答案 让我了解两个日期之间的差异 但找不到任何可以让我了解每个客户的几条记录之间差异的答案 我的数据如下 Customer Pstng Date Henry
  • 如何限制 Chrome 中的并发(并行)浏览器请求?

    背景 我注意到几乎所有代理提供商都有 最大线程数 允许 根据我的理解 这意味着一次并发 并行浏览器请求的最大数量 由于现代网站可以有许多并行请求 因此如何在 Chrome 中限制并行请求 全局范围内整个浏览器 不仅针对每个主机 服务器 而且
  • C++ 排序跟踪索引[重复]

    这个问题在这里已经有答案了 您是否有一些有效的例程来返回带有数组中排序元素索引的数组 我认为使用 stl 存在一些方便的方法vector 您是否已经在不使用 stl 的情况下实现了高效的算法 或者您是否有伪代码或 C 代码的参考 使用 C
  • 工具栏和选项卡之间有一条线

    如何删除工具栏和tablayout之间的深线 我在google上搜索有人说 向工具栏和tablayout添加一些标高 我做了但它不起作用 从工具栏和tablyout中删除标高后 它也不起作用 请帮帮我 tablayout xml
  • Clojure 中向量和列表上 conj 的行为差异

    我是 clojure 的新手 最初我正在经历Clojure org and 作弊簿 我想知道不同行为的确切原因是什么conj在列表和矢量上 conj 1 2 3 4 1 2 3 4 conj list 3 2 1 4 4 3 2 1 当我将
  • 为什么在 PHP 中将整数视为数组 ($int[$index]) 不会引发任何错误? [复制]

    这个问题在这里已经有答案了 这只是出于好奇而提出的一个简单问题 我花了一整天的时间调试我的 PHP 代码 发现问题是由于将整数视为数组造成的 x int index this returns null but no error at all
  • 使用 PHP 连接到远程 MySQL 服务器

    我正在尝试使用以下代码从本地计算机虚拟主机连接到远程 MySQL 服务器 conn mysql connect dbhost dbuser dbpass or die mysql error mysql select db dbname c
  • 在Android中对base64字符串中的位图对象进行编码和解码

    我想要编码和解码Bitmap字符串中的对象base64 我使用Android API10 我尝试过使用这种形式的方法来编码 但没有成功Bitmap public static String encodeTobase64 Bitmap ima
  • 覆盖嵌套路由中的参数

    我希望路线的命名约定保持一致 默认参数是 id对于任何资源 但是 如果其中嵌套了另一个资源 则父资源的参数将更改为 parent id 我的路由看起来像 resources users do resources projects do re