我最近在我的rails应用程序中添加了Hotwire来更新模态,但这破坏了我将用户重定向到stripe的link_to。我在网上寻找解决它的方法,但由于Hotwire相对较新,我找不到它。有没有人对让link_to与turbo stream协同工作有什么建议?
发布于 2021-08-05 10:40:11
有三种方法(至少)可以恢复默认(非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", path_helper_method, target: "_top" %>
(or in plain html)
<a href="" target="_top">
3:将链接移出任何Turbo帧。没有上述属性的Turbo帧内的任何链接,默认情况下都将由Turbo处理(通常会产生意外的结果)。
发布于 2021-05-18 22:29:14
将link_to转换为远程调用的帮助器目前不能与Turbo一起使用。远程链接将不会停留在帧内,也不会允许您使用turbo流操作进行响应。建议将这些链接替换为带样式的button_to,这样您就可以流畅地使用常规表单,并且可以更好地遵循a11y。
@edit在turbo_frame_tag上使用target:"_top“来启用其中的链接
发布于 2021-06-28 09:14:17
如果链接位于带有turbo: true
的turbo_frame_tag
内,或者在任何父元素上全局设置了turbo: true
,则该链接将充当turbo: true
,这意味着它不会重定向您,因为它将尝试执行ajax请求。试着做<%= link_to 'Woodoo', root_path, data: { turbo: false } %>
https://stackoverflow.com/questions/67338709
复制相似问题