Вопрос в том, как использовать турбоссылки и иметь метатеги, специфичные для каждой страницы?
Вот приложение.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...
Когда вы щелкаете назад и вперед между панелью управления и отчетами, отображаемый тег заголовка меняется с каждым щелчком, как и следовало ожидать (турболинки обновляют заголовок каждый раз), однако метатеги не меняются, пока вы не выполните полное обновление страницы.
Как я могу разбить турболинки для определенных элементов головы?
Если я добавлю data-no-turbolink к каждой ссылке, ведущей на страницу с уникальной метаинформацией, я не вижу, какую пользу я получу, сохраняя турбоссылки.
Я прочитал проблемы с турболинками на github, и другие люди задавали вопрос, но я не нашел решения? Надеюсь, я упустил что-то очевидное.