Rails Turbolinks每次都会呈现部分内容

时间:2014-11-28 15:53:13

标签: ruby-on-rails ruby turbolinks

如果我理解正确Turbolinks让你不止一次重新加载相同的javascript \ css资产,但我有一个导航栏,我渲染为部分,我希望它只渲染一次 - 在初始加载时和我的应用的生命周期。我认为将它放在head标签而不是body中会有所帮助,因为turbolinks取代了你的整个身体,但似乎我每次点击turbolink时都会渲染我的整个application.html.erb,而资产只是加载了一次所有其余的都被重新渲染。这可能是预期的行为,但我只是想知道是否有解决方案。 有没有办法只渲染一次?

application.html.erb

<!DOCTYPE html>
<html lang="he" dir="rtl">
<head>
<%=render partial: 'layouts/navigation'%>  //I want to render only once for the life time of my app

1 个答案:

答案 0 :(得分:1)

这里似乎有一些误解:

  • Turbolink加快了Javascript和CSS的加载速度,因为它们只加载了一次。对于HTML部分(通过调用render partial: ...来构建),情况并非如此。
  • 在HTML的head部分中进行渲染根本没有意义。头部用于声明事物,渲染只发生在body部分。

也许你应该只是在体内渲染它,忘掉速度,除非你有问题。