Ruby on rails 提交失败后表单\标记路由错误

Ruby on rails 提交失败后表单\标记路由错误,ruby-on-rails,path,controller,routing,routes,Ruby On Rails,Path,Controller,Routing,Routes,我有一个带有部分表单的索引页,用于向包模型提交新记录。我将此表单保留在索引页中,因此用户在多次重复此操作时无需离开页面。 在同一页中,我有一个form_标签,用于同一控制器的多个更新,即packages_controller。 一切正常,但以下情况除外:当点击“更新”按钮时,转到表单但不提交,我返回(使用浏览器)并尝试选择要更新的其他记录,然后出现路由错误: Routing Error 没有与[PUT]匹配的路由“/projects/47/orderlines/18/packages” 我的索

我有一个带有部分表单的索引页,用于向包模型提交新记录。我将此表单保留在索引页中,因此用户在多次重复此操作时无需离开页面。 在同一页中,我有一个form_标签,用于同一控制器的多个更新,即packages_controller。 一切正常,但以下情况除外:当点击“更新”按钮时,转到表单但不提交,我返回(使用浏览器)并尝试选择要更新的其他记录,然后出现路由错误:

Routing Error
没有与[PUT]匹配的路由“/projects/47/orderlines/18/packages”

我的索引页如下所示:


= 1 %>
拥挤的
#没有。
类型
毛重
长度
宽度
高度
容器
包装
= 1  %>



您的表单标签代码是
更新\u多个\u项目\u订单行\u包\u路径
我认为应该是
update\u multiple\u project\u orderline\u package\u path(project\u id,orderline\u id,package\u id)

我不能100%肯定我上面的说法,因为你给出了混乱的铁路路线,很难理解

您的表单操作似乎转到
packages\edit\u multiple
controller 因此,粘贴您的
edit\u multiple
方法,而不是
create
方法


您是使用javascript还是纯HTML实现上述场景?

是否检查了路线?localhost:3000/routes,关于这个PUT路由它说了什么?抱歉,我只是没这么快发现错误…这条路线不存在,这在某种意义上是正确的,PUT应该用于更新\u多个\u项目\u订单行\u包\u路径,…对于项目\订单行\包\路径,我只有GET和POST。使用此路径调用此表单时似乎出现错误…更新\多个\项目\订单行\包\路径,方法::put do。Rails尝试此路由projects/47/orderlines/18/您尚未定义的包。如果我刷新了包的索引页,然后提交表单,则一切正常