1

我在使用 Rails 资产预编译时遇到了一些以前从未遇到过的问题。在这个应用程序中运行rake assets:precomile时,我看到每个资产都被编译了两次。如果我跟踪 production.log,我可以看到它基本上似乎连续两次运行整个命令。这是来自日志的修改示例...

Connecting to database specified by database.yml
Compiled jquery.js  (97ms)  (pid 56296)
Compiled jquery.cycle.all.js  (2ms)  (pid 56296)
Compiled jquery.numeric.js  (0ms)  (pid 56296)
Compiled matchMedia.js  (0ms)  (pid 56296)
Compiled fastclick.js  (1ms)  (pid 56296)
... etc ...
Connecting to database specified by database.yml
Compiled jquery.js  (97ms)  (pid 56296)
Compiled jquery.cycle.all.js  (2ms)  (pid 56296)
Compiled jquery.numeric.js  (0ms)  (pid 56296)
Compiled matchMedia.js  (0ms)  (pid 56296)
Compiled fastclick.js  (1ms)  (pid 56296)
... etc ...

检查已编译的文件确认它已将所有内容编译两次,因此所有 CSS 和 JS 都是重复的。

我正在使用 Rails 3.2.13 和 Ruby 2.0.0-p0(也尝试使用 1.9.3-p392)。

我以前从未遇到过资产预编译的任何问题,所以如果有人对为什么这次它表现出这种不寻常的行为有任何想法,我很想听听。

干杯!

4

1 回答 1

2

为了解释更多关于 alistairholt 的“陷阱”:运行时rake assets:precompile,资产被预编译并放置在public/assets. 事实证明,这在开发环境中加载 Web 应用程序时会产生冲突,因为它同时提供文件夹中的文件public/assets和资产app/assets

于 2013-05-10T21:38:44.493 回答