form_for 的路由范围问题(部分)

2023-12-29

尝试路由:

scope :shortcut do
 resources :text_elems
end

使用带有表单部分的基本脚手架

*_form.html.erb*
<%= form_for(@text_elem, :shortcut => @shortcut) do |f| %> 
...

问题是: 当我打电话时edit动作,表单 html 显示为:

<form ... action="/25/text_elems/25">

Note: The new动作正确呈现表单动作:

<form ... action="/home/text_elems">

因此,当 form_for 处理它的块时,我的 :shortcut 参数似乎被 :id 参数打败了。现在,如果我在 form_for 块中手动创建 :url => {...},我就可以使用 :shortcut 参数来正确路由,但我更愿意保持代码干燥,而且我想报告如果确实是一个bug,这个问题就交给rails。

其他人可以确认这是一个错误吗?


实际上,您可以将值作为完整散列传递,而不是尝试依赖默认的 to_param (如果您所做的只是传递 @text_elem ,则会调用该值)

<%= form_for({:id => @text_elem.to_param, :shortcut => @shortcut}) do |f| %> 

但是,如果这实际上是嵌套资源,您也可以这样做:

<%= form_for([@shortcut, @text_elem]) do |f| %> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

form_for 的路由范围问题(部分) 的相关文章

随机推荐

  • 如何让某人的个人资料图片显示给他们?

    我如何才能将某人的个人资料图片显示给我 我已经获得使用用户图片等的权限 我只是不知道如何使用他们的个人资料图片并将其显示给他们 任何帮助都是极好的 调用Graph API http graph facebook com id picture
  • 保留文本区域中的换行符

    我有一个带有文本区域的表单 我想在输出内容时保留用户输入的换行符 例如 如果我在 textarea 中写入 这里有一句话 这是另一个 这里还有一个 这是一个新段落 这是一个新句子 这是另一个 我想要相同的输出not 这里有一句话 这是另一个
  • 它说 TypeError: document.getElementById(...) 为 null [重复]

    这个问题在这里已经有答案了 虽然我向 getElementById 推送了一个参数 但我想知道这个 is null 错误来自哪里 TypeError document getElementById is null Break On This
  • gcc 编译器无法识别 -fno-plt 选项

    我正在尝试使用 Amazon Linux AMI 在 Amazon EC2 实例上编译 QuantLib Python SWIG 绑定 我已成功编译 QuantLib 本身 但是 当尝试编译 anaconda python swig 绑定时
  • 如何从java调用c++功能

    我有一个主要是 GUI 的 Java 程序 它显示从 C 命令行工具写入 xml 文件的数据 现在我想在java程序中添加一个按钮来刷新数据 这意味着我的程序必须调用 C 功能 通过系统调用从 java 调用程序的最佳方法是 c 程序将为
  • 使用 TRESTRequest 时客户端未指定证书

    使用 SSL URL 调用我们的内部服务器之一时 TRESTClient 和 TRESTRequest 给出错误 首先来自异常类 ENetHTTPCertificateException 然后来自 ERESTException 并显示消息
  • 可变高度的 CSS 浮动 Div [重复]

    这个问题在这里已经有答案了 我有无限数量的 100px 宽度的 div 可以放入 250px 宽度的父级中 无论高度如何 我都需要将 div 按行显示 如图所示 我已经尝试解决这个问题 但 div 高度似乎把它搞砸了 我非常感谢你的帮助 谢
  • 用元组定义函数

    如何定义一个接受所有元组 1 到 22 作为参数的函数 我有以下想法 def foo v Tuple foo 1 2 foo 1 2 3 EDIT 回答评论 我实际上正在尝试创建一个张量类 它是一组值和一组索引 索引可以是协变和 或逆变的
  • 使用 LINQ 合并 2 个列表并对多个属性求和

    我有一个包含以下属性的类 public class SomeClass public Int32 ObjectId1 get set public Int32 ObjectId2 get set public Int32 ActiveThi
  • 系统类加载器是否会加载类路径中的所有类,即使它们实际上并未使用?

    我正在使用 JDK 1 6 来运行一个小型应用程序 然而 我设置了一个非常庞大的类路径 其中包含很多类 当我运行应用程序时 类加载器中的所有类是否都会被加载 即使它们实际上并未在我的应用程序中使用 如果不是 如何强制类加载器这样做 如果是
  • 提交消息中的“CL”是什么意思?它代表什么?

    来自 Angular js 更改日志 在此 CL 之后 ng trim 不再影响 input type password 并且永远不会修剪密码值 这是来自其中一条提交消息 因此大概意味着补丁 它代表什么 更改日志 它的意思是更改列表 创建变
  • 使用 CloudKit 时出现“无法发送有效签名”错误

    任何人都知道可能导致此错误的原因 该错误在下面的查询块中返回
  • 如何使用argparse打开文件?

    我想使用打开文件进行阅读argparse 在 cmd 中它必须如下所示 my program py filepath 这是我的尝试 parser argparse ArgumentParser parser add argument fil
  • C# .net MVC,设置 Google 应用程序凭据 JSON 文件的路径

    我刚刚让这个 Google 示例项目在我的 VS2015 上运行 但是 当我发布到 IIS 并托管它后 当我打开链接时 网页不断显示此消息 如图所示 我将密钥添加到了 web config 中 但仍然不起作用 只是想知道以前是否有人这样做过
  • Facebook Graph API 读取关注者计数

    使用 Facebook Graph API 或其他方式 当前是否有可用的方法来获取用户的关注者数量 您可能认为这将是一个简单的可读度量字段user https developers facebook com docs graph api r
  • Grails ehcache 插件 - 同一 VM 中已存在另一个未命名的 CacheManager

    我使用 ehcache 作为二级缓存来运行 Grails 应用程序 并且它可以工作 我安装了ehcache插件 cache插件 然后就没有了 我尝试了互联网上几乎所有的解决方案 但没有找到我一直得到的解决方案Another unnamed
  • 如何将 Flutter 应用主题默认设置为深色?

    我在 flutter 中创建了一个简单的登录 UI 但我不知道如何使应用程序的整体主题变暗 我的意思是 将来 如果我向应用程序添加更多功能 它应该全部采用深色主题 有什么办法可以做到这一点吗 我使用了一个单独的 dart 文件 login
  • 在 Objective-C 中比较字符串和数组

    这是一个非常基本的问题 我相信您能够很快回答 请不要嘲笑我的无知 我有一个字符串 我想将其与字符串数组进行比较 仅当字符串不是数组的一部分时 我才想执行操作 我尝试了以下代码 但不起作用 我确实明白为什么 但我就是想不出正确的方法 请帮助我
  • 如何将 ILMerge 集成到 Visual Studio 构建过程中以合并程序集?

    我想将 VB NET 控制台应用程序项目引用的一个 NET DLL 程序集和一个 C 类库项目合并到一个命令行控制台可执行文件中 我可以从命令行使用 ILMerge 来完成此操作 但我想将参考程序集和项目的这种合并集成到 Visual St
  • form_for 的路由范围问题(部分)

    尝试路由 scope shortcut do resources text elems end 使用带有表单部分的基本脚手架 form html erb 问题是 当我打电话时edit动作 表单 html 显示为