加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 22:02:27 所属栏目:百科 来源:网络整理
导读:我有一个启用了turbo链接的Rails 4应用程序,但是当更改页面(不是完全刷新)时,我无法获取元标记来刷新.我读到元标签需要包含在加载turbo链接的 JavaScript之前,但是它没有任何效果.完全刷新工作,但不幸的是,这不是我搜索的. 布局/ application.html.haml %htm
我有一个启用了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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读