如何解决Hotwire 断开 link_to rails
我最近将 Hotwire 添加到我的 rails 应用程序中以更新模式,但这破坏了我将用户重定向到条带的 link_to。我在网上寻找解决方法,但由于 Hotwire 相对较新,我找不到它。有没有人对让 link_to 与 turbo 流一起工作有任何建议?
解决方法
将 link_to 转换为远程调用的助手目前不适用于 Turbo。远程链接不会停留在帧内,也不会允许您使用 Turbo 流操作进行响应。建议将这些链接替换为样式化的 button_to,这样您就可以浏览常规表单,并且符合 a11y 要求会更好。
@编辑 在 turbo_frame_tag 上使用 target: "_top" 以启用其中的链接
,如果链接在带有 turbo_frame_tag
的 turbo: true
内,或者 turbo: true
被全局/在任何父元素上设置,链接将作为 turbo: true
的意思它不会重定向您,因为它会尝试执行 ajax 请求。尝试做<%= link_to 'Woodoo',root_path,data: { turbo: false } %>
我遇到了同样的问题
我改了
<%= link_to "Create A Comment",new_model_post_comment_path(@model_post.id),method: :get%> </span>
这个对我有用
<%= link_to "Create A Comment",new_model_post_comment_path(@model_post.id)%> </span>
有三种方法(至少)可以恢复默认(非 Turbo)链接行为。
1:将 data-turbo 属性设置为 false。
<%= link_to "Click Here",path_helper_method,data: { turbo: false } %>
(or in plain html)
<a href="" data-turbo="false">
2:设置目标属性。
<%= link_to "Click Here",target: "_top" %>
(or in plain html)
<a href="" target="_top">
3:将链接移到任何 Turbo 框架之外。 Turbo 框架内的任何链接,如果没有上述属性之一,将默认由 Turbo 处理(通常会产生意想不到的结果)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。