Rails + Hotwire:为什么我的链接在单击时消失了?

Aid*_*les 2 ruby-on-rails hotwire-rails turbo turbo-frames

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

我看到网络请求发生并且成功。DevTools 的“网络”选项卡中的页面预览显示正在加载并呈现为 html 的正确页面。浏览器只是不带我到新位置。

我怎样才能像以前一样工作?我觉得即使我使用 Hotwire/Turbo,我也应该能够使用常规链接重定向应用程序中的任何位置。

Aid*_*les 6

事实证明(至少)有三种方法可以恢复默认链接行为。

1:设置data-turbo属性。

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

2:设置target属性。

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