【问题标题】:Rails, why does turbolinks stop link_to from showing when I add yield in head?Rails,为什么当我在 head 中添加 yield 时,turbolinks 会停止显示 link_to?
【发布时间】:2017-06-10 06:08:49
【问题描述】:

我在 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 不会仅在页面刷新时显示,它们存在于检查器中,但在我刷新之前会变暗。如果我将yield 删除到这些样式表中,link_to 将再次正常工作。我认为这与 javascript 有关,因为在 application.html.erb 链接中删除 &lt;%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %&gt; 也可以正常工作。

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

【问题讨论】:

    标签: javascript jquery ruby-on-rails turbolinks


    【解决方案1】:

    您可以在 link_to 上禁用 turbolinks

    &lt;%= link_to('Model', @model, 'data-no-turbolink' =&gt; true) %&gt;

    并尝试将您的两个 yield 标头放在 turbolinks 和 css 代码下方或正文标记中

    【讨论】:

    • 嗨,谢谢。是的,我在这里找到了this 链接,它提供了 turbolinks 5 语法data: { turbolinks: false }。我将标记为正确,但必须看看为什么这样做..
    猜你喜欢
    • 1970-01-01
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多