2

我正在 Rails 3.2 中开发一个新的 Web 应用程序。我已经到了尝试使 IE 中的所有内容看起来像 Firefox/Chrome 等一样好的地步。

为此,我正在使用 CSS3 PIE http://css3pie.com/

然而:由于样式表被分割成许多小文件,我现在有 64 个样式表文件要在开发模式下加载。当 css3pie.htc 尝试动态创建新的 styleshhet 时,这会在 IE 中产生问题。IE 仅支持 31 个并发样式表。

有没有办法让 Rails 总是将所有样式表连接到 application.css 中?开发中。

更新 2012-04-11:我试图在我的开发机器上调用“rake assets:precompile”。但是仍然没有使用预编译的样式表。似乎我需要更改一些配置值,但我不知道是哪个。

卡斯滕

4

1 回答 1

2

听起来您的资产管道处于调试模式,因此您需要将其关闭。您应该有一个<AppDir>/config/environments/development.rb文件。在该文件中,尝试找到以下行。

ServerPrototype::Application.configure do
    ...
    config.assets.debug = true
    ...
end

尝试将该值设置为false(如果该行不在文件中,请继续添加它的值false)。这将导致资产管道将所有资产编译到每个清单的单个文件中

如果这不能解决问题,您可能需要重组清单文件。我已经通读了关于资产管道的这一部分:清单和指令,以了解清单是如何使用和编译的。

如果需要,您还可以通过将以下设置添加/更改为 true 来打开压缩:

config.assets.compress = true

请注意,如果您使用自定义压缩器,您还需要添加这些定义:

config.assets.css_compressor = :foo_compressor
config.assets.css_compressor = :bar_compressor

资产管道配置选项的完整列表可以在 Rails指南文档中找到关于配置 Rails 应用程序:配置资产。

config.assets.compress启用压缩已编译资产的标志。它在 中明确设置为 true config/production.rb

config.assets.debug禁用资产的串联和压缩。中默认设置为 false config/development.rb

于 2012-04-12T07:06:41.350 回答