首页 > 解决方案 > 无法提交由 Rails Turbo Frame 响应绘制的表单

问题描述

turbo_frame 内的表单被阻止再次提交。

当前页面和表单操作都是相同的路径。我看到表单现在必须重定向到新位置或返回错误代码:turbo/pull/39

我在每个索引视图上都有一个表单,向索引操作发送 GET 请求,它根据 url 查询参数过滤记录。这很好用。这在最新的 Rails 中不再可能了吗?是否有可以在此处应用的解决方法,以避免为表单操作创建新路线?

这些是幂等过滤/搜索请求,因此是 GET 方法。表单是收集和发送过滤器值的便捷方式。在这种情况下,带有 Hotwire 的 Rails 坚持重定向是否正确/有意?

更新: 如果我将表单提交为 xhr 而不是使用 Turbo,它会起作用。我在表格中添加local: falsedata-turbo: false。然后添加 index.js.erbdocument.getElementByID(<id of turbo frame>)并将其设置outerHTML为呈现的部分。不确定这是否会由于不推荐使用的 ujs 功能而停止工作(也许mrujs可以介入)。

标签: ruby-on-railshotwire-railsturboturbo-frames

解决方案


推荐阅读