Rails + Hotwire:为什么我的 link 单击后消失了?

Rails + Hotwire: Why does my link disappear when I click it?

我正在尝试将 Hotwire/Turbo 合并到现有的 Rails 应用程序中。我已将 Turbo 框架添加到一个简单的编辑页面,但现在当我单击后退按钮时,它会消失,而不是将我带到目标页面。 link 是一个简单的 link_to "Back", my_model_show_path(model_instance).

我看到网络请求发生并成功。 DevTools 的网络选项卡中的页面预览显示正确的页面被加载并呈现为 html。浏览器没有将我带到新位置。

如何使它像以前一样工作?我觉得即使我使用的是 Hotwire/Turbo.

,我也应该能够使用常规 link 重定向应用程序中的任何位置

原来有三种方法(至少)可以恢复默认的 link 行为。

1:设置data-turbo属性。

<%= link_to "Click Here", path_helper_method, data: { turbo: false } %>
(or in plain html)
<a href="" data-turbo="false">

2:设置target属性。

<%= link_to "Click Here", path_helper_method, target: "_top" %>
(or in plain html)
<a href="" target="_top">
  1. 将 link 移到任何 Turbo 框架之外。 Turbo 框架内的任何 link,如果没有上述属性之一,默认情况下将由 Turbo 处理。