在rails 4中使用turbolinks时,css样式覆盖

时间:2014-03-26 09:27:24

标签: css ruby-on-rails turbolinks

我在rails4项目中使用turbolink。

我注意到它会在html head中添加所有* .css文件作为外部css链接。 如果有人使用与我相同的css选择器,则可能会覆盖Css样式!

这是我的问题: turbolinks中是否有任何设置忽略指定页面上的某些css / js加载?

1 个答案:

答案 0 :(得分:1)

我会说这是条件ERB代码的工作,而不是turbolinks(但我可能错了)

Turbolinks是一个加载<body&gt;的JavaScript库。通过ajax标记页面(保持<head>完整。您可以通过将data-no-turbolink标记应用于链接来独立加载Turb​​olink:

<div id="some-div" data-no-turbolink>

我会这样做:

<head>
   <% if x.present? %>
       <%= stylesheet_link_tag "your_css" %>
   <% end %>
</head>

就特定资产/款式而言,您可能希望查看asset change detection

  

您可以跟踪某些资产,例如application.js和application.css,   您要确保的内容始终是最新版本   Turbolinks会议。这是通过标记这些资产链接来完成的   数据turbolinks轨


最后,你的问题很模糊(没有足够的背景)。当你提到:

  

我注意到它会在html head中添加所有* .css文件作为外部css链接。如果有人使用与我相同的css选择器,则可能会覆盖Css样式!

如果您的CSS为spaghetti code,那么您的问题很可能与您构建资产的方式有关,而不是Turbolinks。您应该详细了解如何加载CSS&amp;什么需要带回来