CSS没有加载到轨道上的生产红宝石

时间:2014-04-24 12:06:06

标签: ruby-on-rails ruby ruby-on-rails-3.2

我在生产模式下运行我的Rails 3.1应用程序。我使用IE 8试了一下,资产文件夹中的一些css文件没有正确加载。即使在生产模式下,一切都在开发模式和其他浏览器中都能正常工作。

请帮我解决这个问题。

我在网上看到了很多这个问题。但没有得到任何令人满意的结果。

2 个答案:

答案 0 :(得分:1)

试试此博客:Rails Asset Pipeline Handing of CSS and JS

此博客可以为您提供处理生产环境中的css和js的想法。

答案 1 :(得分:1)

IE具有css文件可以包含的选择器数量的硬编码限制。在ie 8中,这个数字是4096 - 除此之外的任何东西都被忽略了(参见ie blog上的帖子)

在开发中你的css被分成很多文件,但是在生产中(默认情况下)它们最终都会出现在一个大的application.css中,这可能会让你超过极限。使用诸如sass之类的语言非常容易在不知不觉中产生大量的CSS。

您可以手动拆分,例如,如果您的应用具有面向客户的区域和仅限管理员区域,您可以将css拆分为admin.css和application.css部分(这也具有以下优势:浏览器下载/处理不太相关的css)。

您还可以将样式表拆分为所有部分都具有< 4096个选择器,并在所有页面上包含所有这些选择器。 css_splitter gem会在您预编译资产时自动执行此操作