如何避免Rails 3.2中的CSS延迟

时间:2013-07-04 05:38:38

标签: css ruby-on-rails ruby-on-rails-3

更新

如果我添加这些行,延迟会消失,但这似乎不是最佳做法?

<link rel="stylesheet" type="text/css" href="assets/static_pages.css">
<link rel="stylesheet" type="text/css" href="assets/dynamic_pages.css">

当我的Rails 3.2应用程序的页面加载时,顶部导航菜单和子菜单以及页面的其他元素首先显示,不应用CSS,然后立即显示。

我听说过CSS压缩和编译/追逐。这是如何避免这种情况的?

我担心的一个问题是,如果我编译资产并打开资产缓存,然后如果我更改资产/ css,那么用户将无法获得更新的版本,并且我的应用程序工作正常显示。你也可以对此发表评论吗?

这是我的主角:

<head>
  <title><%= full_title(yield(:title)) %></title>
  <%= javascript_include_tag "application" %>
  <%= render 'layouts/stylesheets' %>
</head>

这是layout / _stylesheets.html.erb:

<%= stylesheet_link_tag    "application", :media => "all" %>
<%= csrf_meta_tags %>

提前致谢。

1 个答案:

答案 0 :(得分:1)

这可能与Rails没有关系,而是与“无格式内容的Flash”(a.k.a.FOUC)有关。

如果这是你发生的事情,那么很可能是因为你的HEAD中只有@import指令。 尝试添加LINK或SCRIPT标记,您的问题就会消失。

这里有一篇参考文章:Flash of Unstyled Content (FOUC) -- BlueRobot