问题是如何同时使用 turbolinks 和每个页面特定的元标记?
这是 application.js:
//= require jquery
//= require jquery_ujs
//= require jquery.turbolinks
//= require dashboard
//= require turbolinks
这是应用程序布局视图:
<title><%= yield_or_default(:title) -%></title>
<meta name="description" content="<%= yield_or_default(:meta_desc) -%>">
<meta name="keywords" content="<%= yield_or_default(:meta_keywords) -%>">
<meta name="robots" content="<%= yield_or_default(:robots) -%>">
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
这是仪表板 CoffeeScript:
jQuery ->
$("#list_tags").html(list_tags())
list_tags = ->
"Title: \"" + $('title').text() + "\"<br />" +
"Meta Description: \"" + $('meta[name=description]').attr('content') + "\"<br />" +
"Meta Keywords: \"" + $('meta[name=keywords]').attr('content') + "\"<br />" +
"Robots: \"" + $('meta[name=robots]').attr('content') + "\""
在应用程序布局的顶部:
<%= link_to "Dashboard", root_path -%>
<%= link_to "Reports", reports_path -%>
etc...
当您在 Dashboard 和 Reports 之间来回单击时,显示的标题标签会按照您的预期随着每次点击而变化(turbolinks 每次都会更新标题),但是在您刷新整个页面之前元标签不会改变。
如何破坏特定头部元素的 turbolinks?
如果我在每个指向具有唯一元信息的页面的链接上添加 data-no-turbolink,我看不出保留 turbolink 有什么好处。
我在 github 上阅读了有关 turbolinks 的问题,其他人也提出了这个问题,但我没有看到解决方案?希望我遗漏了一些明显的东西。