ruby-on-rails – Rails 4和Turbolinks – Meta标签没有改变

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails 4和Turbolinks – Meta标签没有改变前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个启用了turbo链接的Rails 4应用程序,但是当更改页面(不是完全刷新)时,我无法获取标记来刷新.我读到元标签需要包含在加载turbo链接JavaScript之前,但是它没有任何效果.完全刷新工作,但不幸的是,这不是我搜索的.

布局/ application.html.haml

%html
  %head
    %title= "Title"
    - if content_for?(:Meta_description)
      %Meta{content: (yield :Meta_description),name: "description"}/
      %Meta{content: (yield :Meta_keywords),name: "keywords"}/
    = stylesheet_link_tag "application",media: "all","data-turbolinks-track" => true 
    = javascript_include_tag "application","data-turbolinks-track" => true

    = csrf_Meta_tags
  %body{class: params[:controller].gsub("/","-"),id: 'top'}
    = render "shared/header"
    .body-content
      = render "shared/flash"
      = yield
    = render "shared/footer"
    = render "shared/analytics"

助手/ application_helper.rb

def Meta_tag(title,description)

06001

end

这就是我称之为他们

= Meta_tag('here s my title','and the keywords')

谢谢

解决方法

Turbolinks如何工作

Turbolinks旨在保持< head>标记相同,仅替换< body>通过AJAX请求标记所请求的页面内容.由于您的< Meta>标签位于< head>中,不会通过Turbolinks请求进行更改.

SEO怎么样?

SEO角度来看,您不必担心< Meta>标签在Turbolinks请求上进行更新,因为搜索引擎抓取工具将始终执行完整页面请求,并且不会执行Turbolinks JavaScript.

用户角度来看,< head>中唯一的标签每个请求需要更改的是< title>标签,因此Turbolinks本身内置的特殊处理.

这个行为会不会改变?

这个“问题”已经被提出并被击倒了几次,每次被DHH自己宣布为非问题,所以我不会指望这个行为很快就会改变.

看到:

> https://github.com/rails/turbolinks/issues/81
> https://github.com/rails/turbolinks/pull/165

原文链接:https://www.f2er.com/ruby/266525.html

猜你在找的Ruby相关文章