【发布时间】:2014-05-04 14:13:53
【问题描述】:
我在我的 rails4 项目中使用 turbolinks。
我注意到它会将所有 *.css 文件作为外部 css 链接添加到 html 头中。 如果有人使用与我相同的 css 选择器,则 css 样式可能会被覆盖!
这是我的问题: turbolinks 中是否有任何设置可以忽略指定页面上的某些 css/js 加载?
【问题讨论】:
标签: css ruby-on-rails turbolinks
我在我的 rails4 项目中使用 turbolinks。
我注意到它会将所有 *.css 文件作为外部 css 链接添加到 html 头中。 如果有人使用与我相同的 css 选择器,则 css 样式可能会被覆盖!
这是我的问题: turbolinks 中是否有任何设置可以忽略指定页面上的某些 css/js 加载?
【问题讨论】:
标签: css ruby-on-rails turbolinks
我会说这是有条件的ERB 代码的工作,而不是 turbolinks(但我可能是错的)
Turbolinks 是一个 javascript 库,用于通过 ajax 加载页面的 <body> 标记(保持<head> 不变。您可以通过将data-no-turbolink 标记应用于链接来使 Turbolinks 独立加载:
<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-track
最后,您的问题非常模棱两可(上下文不足)。当你提到:
我注意到它会将所有 *.css 文件作为外部 css 链接添加到 html 头中。如果有人使用与我相同的 css 选择器,则 css 样式可能会被覆盖!
如果您的 CSS 是 spaghetti code,那么您的问题可能与您的资产结构有关,而不是 Turbolinks。你应该提供更多关于你如何加载你的 CSS 以及它需要带回来的细节
【讨论】: