Rails,当我在 head 中添加 yield 时,为什么 turbolinks 停止 link_to 显示?

Rails, why does turbolinks stop link_to from showing when I add yield in head?

我在我的 application.html.erb 文件中添加了这两行 <%= yield :gal_img_hover_stylesheet %><%= yield :gal_imgs_hover_stylesheet %>

<!DOCTYPE html>
<html>
  <head>
    <title>UserGalleryPictureProject</title>
    <%= csrf_meta_tags %>
    <%= yield :gal_img_hover_stylesheet %>
    <%= yield :gal_imgs_hover_stylesheet %>
    <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
  </head>

  <body>
    <%= yield %>
  </body>
</html>

添加这些后,其他操作中的 link_tos 不会仅在页面刷新时显示,它们会在检查器中显示,但在我刷新之前会变暗。如果我从这些样式表中删除 yieldlink_to 将再次正常工作。我认为它与 javascript 有关,因为删除 application.html.erb 链接中的 <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> 也可以正常工作。

有没有办法解决这个问题,因为我想要 turbolinks 的好处,但我对错误的来源还不够了解。显然,当我的 javascript 没有加载到浏览器中时,link_tos 工作但想知道为什么。

您可以在 link_to

上禁用 turbolinks

<%= link_to('Model', @model, 'data-no-turbolink' => true) %>

并尝试将您的两个产量 header 放在 turbolinks 和 css 代码下方或 body 标签中